Есть Некоторые Подробности: Объектами UIImage.asJPEG нужен объект NSError


Для сохранения UIImage в PNG или JPEG локально вызывается функция asPNG().Save(...).

Функция asPNG().Save() требует out NSError

Проблема в том, что вы больше не можете просто создать пустой NSError для передачи таким образом (Obsolete)

NSError err = new NSError();  //Obsolete

Итак, чтобы использовать функцию Save() в MonoTouch, как теперь создать объект NSError ()?

2 4

2 ответа:

В .NET вы делаете Не должны инициализировать любой out параметр (в отличие от ref параметров), так как это называется работа метода, чтобы сделать это.

Например

NSError err; // unitialized
UIImage img = ...;
img.AsPNG ().Save (url, true, our err);
if (err != null && err.Code != 0) {
    // error handling
}

Устарел только пустой конструктор по умолчанию для NSError, а не сам класс NSError. Не стесняйтесь указать соответствующий домен и код для вашего сценария и передать его. Должно сработать нормально.