當我單擊按鈕時,UIAlertView提示用戶輸入名稱。然後將該名稱創建爲新的「客戶」對象並插入到可變數組中。向UIPickerView添加名稱時應用程序崩潰
有一個單獨的可變數組,名爲'CustListByName',它存儲所有名稱的列表。
即時通訊的問題是,當添加第二個或第三個名稱時,應用程序崩潰。有時會發生在第二次嘗試上,其他時間會在第三次嘗試中發生。除了(lldb)之外,調試器中沒有提供任何信息。該程序報告EXC_BAD_ACCESS,然後它將我轉移到一個包含大量彙編代碼的屏幕上。
碰撞是發生在這些行的代碼:
本質上,它清除名稱的數組,然後它的對象陣列上重新填充基於。我已經逐步研究了一個斷點,但是直到崩潰時,一切似乎都正確無誤。這也令人困惑,爲什麼會發生在第二次或第三次嘗試,而不是第一次。
[custListByName removeAllObjects];
for (Customer *object in custListByObject) {
[custListByName addObject:object->name];
}
這裏是一個客戶創建並每次插入新的客戶按鈕被點擊代碼:
Customer *tempCust = [[Customer alloc] init];
tempCust->name =[[alertView textFieldAtIndex:0] text];
[custListByObject addObject:tempCust];
[tempCust release];
我真的很感激這種幫助,謝謝!
我可以假設你正在操作的NSMutableArray與用作UIPicker的數據源的數組是同一個數組嗎? – csundman 2013-04-29 22:17:30
而不是使tempCust->一個公共變量,創建一個類型副本的proprerty。 – 2013-04-29 22:17:43
@darkfoxmrd - 是的,custListbyName是UIPicker的數據源。 – 2013-04-29 22:23:28