我使用NSMutable Array作为UITableView的数据源。我从数据库中获取值并将其添加到可变数组。当视图加载时,我用可变数组填充表视图,并且它加载正常。稍后,当我单击一个单元格时,它会抛出一个错误,指出无法识别的选择器已发送到实例
在数组内部我存储一个具有name属性的person对象。我正在使用person.name
加载所有单元格稍后当我尝试disolay person.name时,用户单击每个单元格它会显示错误。
我就是这样做的
Person *per = (Person*)[my arr objectAtIndex:indexPath.row];
NSlog(@"%@",per.name);
这里崩溃了。但我在cellforRowAtIndexPath中使用相同的代码来显示人名。
有时错误会将无法识别的选择器名称发送到NSArray 有时它会发送无法识别的选择器名称 UIDeviceRGBColor
所以这意味着我没有从我的NSMutable数组中获取正确的对象
我该如何正确地做到这一点?
由于
答案 0 :(得分:1)
这是由于数组是易于处理的。确保正确保留阵列。在ARC中有很强的参考价值。在非ARC中确保保留数组(我建议使用属性)。