как решить проблему: «Метод экземпляра -arrayByPerformingSelector:« не найден (тип возвращаемого значения по умолчанию равен «id») » - PullRequest
1 голос
/ 07 марта 2012

я видел в одном посте -(id)arrayByPerformingSelector объявление в интерфейсе должно подойти, но когда я попробовал его, это объявление было обработано как отдельный метод, и возникла неполная реализация ... извините, это довольно глупое сомнение, я спрашиваю, но я ' Я новичок в iOS и не смог выяснить, что не так с этим ..

self.segmentedControl = [[UISegmentedControl alloc] initWithItems:[viewControllers arrayByPerformingSelector:@selector(title)]];
self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

а также когда я запускаю проект, поток останавливается с помощью SIGABRT и в окне консоли

"TableView[866:fe03] -[__NSArrayI arrayByPerformingSelector:]: unrecognized selector sent to instance 0x6e65620
2012-03-07 12:31:16.074 TableView[866:fe03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI arrayByPerformingSelector:]: unrecognized selector sent to instance 0x6e65620'"

если мне нужно использовать селектор в объявлении, пожалуйста, скажите мне, как .... Спасибо всем:):)

1 Ответ

1 голос
/ 07 марта 2012

Я проверил iOS SDK и не смог найти метод с таким именем. Учитывая, что это приводит к сбою приложения ... нет метода с таким именем.

Если вы получаете такое же предупреждение и ваше приложение работает нормально, мой ответ здесь будет иметь отношение

Я не знаю, начали ли вы с этого вопроса SO: Реализовали мой собственный контроллер навигации? , но принятый ответ там ссылается на блог.

Исследуя это, вам необходимо:
• загрузить NSArray + PerformSelector.h и NSArray + PerformSelector.m из здесь
• добавить их в свой проект xcode
• добавьте #import "NSArray+PerformSelector.h" к файлу .m, в котором вы столкнулись.

...