Допустим, у вас есть подпись метода, которая принимает NSError**
.
Это означает, что метод принимает указатель на указатель, указывающий на значение NSError
.
Итак, я подозреваю, что ошибка имеет значение NULL, вы в основном спрашиваете объект NULL, каково значение того, на что он указывает.Но, конечно, вы не можете запросить объект NULL для этой информации, поэтому он аварийно завершает работу.
Итак, прежде чем пытаться установить значение *error
, вам нужно проверить, что error
не NULL
примерно так:
if (error == NULL) {
// the function caller has supplied us with a nil as an argument
// this indicates the caller does not care about the error
return;
}
Причина, по которой вы должны проверить NULL
вместо nil
, заключается в том, что вы проверяете область памяти, а не объект какао.