我已經在應用程序delegate.h中定義了一個屬性,並將其合成到delegate.m文件中以使其成爲全局變量並從整個應用程序中獲取其值:iPhone錯誤:線程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?因爲你正在使用'[accounts count]',在你命名爲'accountsArray'之前。那麼你爲什麼不使用'return [accountsArray count];'? – Jules 2012-01-03 08:24:46
accountsArray在主視圖中用於檢查是否有一個或多個帳戶。並且帳戶正在選取器視圖帳戶中使用,其中所有這些帳戶都將顯示在選取器視圖中,以便用戶選擇他的帳戶 – AppDeveloper 2012-01-03 08:31:25
是否有可能在某個時刻發佈了它?在numberofRows方法上返回nil不會使其崩潰,但將NULL傳遞給count方法會。 – CodaFi 2012-01-03 08:37:32