当我单击按钮时,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