iPhone executeSelector меняет тип объекта - PullRequest
0 голосов
/ 21 января 2010

У меня есть класс обратного вызова с методом -(void)fire, и он вызывает
[target performSelector:selector withObject:dictionary];
Непосредственно перед этой строкой я добавил NSLog(@"%@", [[dictionary class] description]);, чтобы увидеть, где объект изменился, при отладке он возвращает NSCFDictionary.

Так что все было хорошо. Затем я добавил похожую строку, чтобы получить тип аргументов внутри вызываемого метода. Теперь при отладке он возвращает NSCFString, а обратный вызов регистрирует NSCFDictionary.

Есть ли какая-то причина, по которой этот объект становится строкой NSSt после того, как я вызываю executeSelector?

1 Ответ

1 голос
/ 21 января 2010

Вы можете передать только один аргумент вашему методу, если используете executeSelector: withObject:.

Проверьте executeSelector: withObject: withObject: или используйте NSInvocation.

...