объективный идентификатор * - PullRequest
1 голос
/ 09 марта 2010

Я использую проверки KVO в моем приложении какао. У меня есть метод

- (BOOL)validateName:(id *)ioValue error:(NSError **)outError

Мои элементы управления теперь могут проверять свои привязки. Как вызвать этот метод с id * NOT id

Чтобы использовать переданное значение (указатель на строковый указатель), я вызываю это:

NSString * newName = (NSString *)*ioValue;
if ([newName length] < 4) {

В противном случае я получаю сбой exec ...

передача с приведением типа не работает: (id *)myStringVar

передача с обычным идентификатором не работает: (id) myStringVar

1 Ответ

5 голосов
/ 09 марта 2010
NSError *error;
[self validateName:&myStringVar error:&error];

Амперсанд означает «адрес». В данном случае это адрес указателя или, другими словами, указатель на указатель (что и есть id*).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...