1

我使用 NSMutable 数组作为 UITableView 的数据源。我正在从数据库中获取值并将其添加到可变数组中。当视图加载时,我用可变数组填充表视图并且加载正常。后来当我单击一个单元格时,它会抛出一个错误,说无法识别的选择器已发送到实例

在数组内部,我存储了一个带有 name 属性的 person 对象。person.name当用户单击每个显示错误的单元格时,我尝试取消 person.name 时,我正在加载所有单元格。我就是这样做的

Person *per = (Person*)[my arr objectAtIndex:indexPath.row];
NSlog(@"%@",per.name);

在这里它崩溃了。但是我在 cellforRowAtIndexPath 中使用相同的代码来显示人名。

有时错误说 Unrecognized selector name sent to NSArray 有时它说 Unrecognized selector name sent to UIDeviceRGBColor

所以这意味着我没有从我的 NSMutable 数组中得到正确的对象

我怎样才能正确地做到这一点?

谢谢

4

1 回答 1

1

这是由于数组被释放。确保正确保留阵列。在ARC中有很强的参考作用。在非 ARC 中确保保留数组(我建议使用属性)。

于 2013-02-08T17:55:12.213 回答