簡體   English   中英

由於未捕獲的異常'NSInvalidArgumentException'而終止應用程序,原因:NSArrayM objectForKey

[英]Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: NSArrayM objectForKey

在此處輸入圖片說明

由於未捕獲的異常“ NSInvalidArgumentException”而終止應用程序,原因:“-[__ NSArrayM objectForKey:]:無法識別的選擇器已發送到實例0x12e654c0。

我正在從具有兩個字典對象的Array的tableview上加載數據。 當調用下面的代碼的ViewDidLoad時,字典對象包含2個nsstring對象

while (sqlite3_step(statement) == SQLITE_ROW) {
    NSString* delID = [NSString stringWithUTF8String:(const char *) sqlite3_column_text(statement, 0)];
    NSString* name =[NSString stringWithUTF8String:(const char *) sqlite3_column_text(statement, 1)]; 


    NSMutableDictionary *dict=[NSMutableDictionary dictionary];
    [dict setObject:delID forKey:@"delID"];
    [dict setObject:name forKey:@"name"];
    [self.arr addObject:dict];

它不會在第一行崩潰,但是在第二行indexPath.row == 1總是崩潰,請參見下面的屏幕截圖。 感謝幫助

這是我再次填充self.arr-(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {if([[datePicker1.CurrentDate length]){

UIButton *btn=(UIButton*)[self.view viewWithTag:btnTag];
[btn setTitle:datePicker1.CurrentDate forState:UIControlStateNormal];
}

if ([self.searchDel.arrSelectDelAdd count ]) 
{
    [self.arr addObject:self.searchDel.arrSelectDelAdd];



    [self.tblDelivery reloadData];

}

}

從代碼中刪除if條件。 因為它只是將第一個字典添加到數組而不是第二個字典。

//if (i==0){
        [self.arr addObject:dict];
//}

嘗試這個 :)

抱歉打擾大家其實問題是我要添加第二個或另一個對象,例如

[self.arr addObject:self.searchDel.arrSelectDelAdd]; //Incorrect, that is adding NSArray type not dictionary

然后在cellForRowAtIndexPath中獲取值

NSDictionary *dict=[arr objectAtIndex:indexPath.row];//here dict will contain NSSArray type not dict type object its causing to crash app.

cell.lblID.text=(NSString*)[dict objectForKey:@"delID"];// at this line.
cell.lblName.text=(NSString*)[dict objectForKey:@"name"];


[self.arr addObjectsFromArray:self.searchDel.arrSelectDelAdd]; // correct, thats the solution giving contents of NSSArray and now working my code 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM