![](/img/trans.png)
[英]Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance
[英]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.