16

我正在使用 UITableview 我在 tableview 单元格上显示图像、标题、日期和位置名称。当我单击 tableview 单元格时,它将导航到详细信息视图。在连续处理 tableview 到详细信息视图中,反之亦然。经过一些导航后我的应用程序得到当我点击我的 UITableview 单元格时崩溃。

4

2 回答 2

27

NSArray旨在为每个元素保存对象 -在任何索引nil处都不是有效值。NSArray

该错误表明您的程序正在创建一个长度非零的数组,并且第一个元素为 nil。


预感:你已经声明了一个文字,相当于:

NSNumber * n = nil;
NSArray * a = @[n]; // << runtime error creating this array

当然,您的程序也可以-[NSArray initWithObjects:count:]直接调用。

于 2012-11-10T06:30:57.980 回答
0

1-定义一个安全的宏 #define $safeArgs(...) [NSOrderedSet orderedSetWithObjects:__VA_ARGS__, nil]

2-然后使用 NSArray *array = [$safeArgs("objectsToSanitize") allObjects];

这将使用一个集合来清理你的 nil 对象,然后将它们放入一个数组中

于 2018-01-18T11:59:58.527 回答