NSInvalidArgumentException .... почему? - PullRequest
0 голосов
/ 15 ноября 2011

У меня есть этот код, где self.currentSet.imagesPrefix является NSString, а также [attributeDict objectForKey @ "imagesPrefix"] является NSSTring

self.currentSet.imagesPrefix=[attributeDict objectForKey:@"imagesPrefix"];

но в консоли у меня есть эта проблема:

2011-11-15 16:04:08.850 MyApp[8579:707] -[__NSCFString setImagesPrefix:]: unrecognized selector sent to instance 0x168600
2011-11-15 16:04:08.857 MyApp[8579:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString setImagesPrefix:]: unrecognized selector sent to instance 0x168600'

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

Это означает, что self.currentSet не тот объект, о котором вы думаете. Вместо того, чтобы объединять свойства в цепочку, разбивайте их на отдельные этапы, чтобы вы могли отлаживать:

id firstpart = self.currentSet;
NSLog(@"%@", firstpart);

Это покажет, что на самом деле self.currentSet. Приготовьтесь к сюрпризу. Тогда может начаться настоящая отладка, потому что вам придется выяснить почему это не то, что вы думаете.

0 голосов
/ 15 ноября 2011

Я предполагаю, что вы не синтезировали ваш imagesPrefix для генерации метода setImagesPrefix.

...