Я определил свойство в приложении delegate.h и синтезировал его в файле delegate.m, чтобы сделать его глобальным и назначить и получить его значение из всего приложения:Ошибка iPhone: Thread 1: Полученный сигнал программы: «SIGABRT»
@property (strong, nonatomic) NSArray *accountsList;
в mainviewcontroller я назначаю NSArray * счета значение этого глобального значения, как это:
((VektorAppDelegate *)[UIApplication sharedApplication].delegate).accountsList = accounts;
И в pickerviewcontroller я назначаю его значение в другой массив, как:
accountsArray = ((VektorAppDelegate *)[UIApplication sharedApplication].delegate).accountsList;
А затем присвоить его мнению сборщика, как:
- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component {
return [accounts count]; //Thread 1: Program received signal: "SIGABRT"
}
Теперь вот в этот момент я указываю я получаю сообщение об ошибке, и мое приложение рушится, иногда это работает, и иногда это дает ошибку. Я не понимаю, в чем проблема.
В каком классе вы называете pickerview? Потому что вы используете '[count count count' ', где до того, как вы назвали его' accountArray'. Итак, почему вы не используете 'return [accountsArray count];'? – Jules
accountsArray используется в основном представлении, чтобы проверить, есть ли одна учетная запись или больше. и учетные записи используются в учетной записи выбора, где все эти учетные записи будут отображаться в режиме выбора, чтобы пользователь мог выбрать свою учетную запись. – AppDeveloper
Возможно ли, что вы ее выпустили в какой-то момент? Возврат nil по методу numberofRows не приведет к его краху, но передача NULL методу count будет. – CodaFi