2013-06-24 3 views
3

Я получаю эту ошибку:ИОСА несовместимых типов указателей, относящие NSError _strong из NSError _autoreleasing

incompatible pointer types assigning to NSError _strong from NSError _autoreleasing 

вот мой файл заголовка:

@interface myClass : NSObject 

{ 
    NSError *errorPointer; 
} 

Это мой файл реализации:

- (id)initWithError:(NSError **)error 
{ 
    if (self = [super init]) 
    { 
     errorPointer = error; // <-- here is where I'm getting the error 
    } 
    return self; 
} 

любой из вас знает, почему и как я могу исправить эту ошибку?

Я по-настоящему благодарю вашу помощь.

ответ

1

(NSError **) ошибка должна быть (NSError *) Ошибка

+0

Вы можете уточнить, почему это так, или когда это стало так, потому что каждый пример везде, где я могу найти говорит использовать (NSError **) –

+0

@LogicsaurusRex NSError ** используется, когда вы хотите вернуть (обычно необязательное) значение из функции. Если NSError является нормальным входящим объектом (редко, но возможно), используется NSError *. – Nuoji