0
將對象添加到NSMutableArray裏有了這個代碼,我得到這個錯誤:從的UITextField
'* -[NSMutableArray insertObject:atIndex:]: attempt to insert nil object at 0'
categories=[[NSMutableArray alloc] init ];
UIAlertView* dialog = [[UIAlertView alloc] init];
[dialog setDelegate:self];
[dialog setTitle:@"Category name"];
[dialog setMessage:@" "];
[dialog addButtonWithTitle:@"Cancel"];
[dialog addButtonWithTitle:@"OK"];
nameField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
[nameField setBackgroundColor:[UIColor whiteColor]];
[dialog addSubview:nameField];
[dialog show];
[dialog release];
[categories addObject:[nameField text]];
[nameField release];
[categoryTable reloadData];
當我在模擬器中運行這個,我得到一個崩潰前的警報視圖甚至彈出。有任何想法嗎?
嗯好吧,這似乎已經解決了這個問題,但是當我插入時我的表中沒有顯示出來。使用此代碼:'if([nameField text])[類別insertObject:[nameField text] atIndex:[categories count]];',我的表中沒有任何內容出現。但是,如果我使用'[類別insertObject:@「test」atIndex:[categories count]];',那麼「test」確實出現在我的表中。什麼可能導致這種情況? – Snowman
您需要創建您的UIAlertView,然後顯示它,而不是其他任何東西。方法中的其餘代碼將繼續運行[dialog show]調用(即,無對象被傳遞給數組)。一旦你觸摸了一個按鈕,相應的委託方法就會被調用。在那裏你應該嘗試做一些結果。 –
我該怎麼做? – Snowman