我正在尝试检查一个NSArray是否在任何特定索引处包含任何对象,并且在检查它时,如果它为空,我想在该特定索引处插入该对象。关于如何做到这一点的任何想法?
问问题
5126 次
1 回答
13
NSArray
不包含nil
值;objectAtIndex:
永远不会回来nil
。nil
添加到集合中是错误的。
要完成您的任务,您可以使用占位符对象,例如[NSNull null]
查询数组的count
. 当然,您将需要一个NSMutableArray
来实际执行突变(例如替换或插入)。
在 OS X 上,您可以NSPointerArray
用来表示包含nil
元素的集合。
使用 NSNull 的示例:
const NSUInteger idx = ...;
NSMutableArray * array = ...;
if ([NSNull null] == [array objectAtIndex:idx]) {
[array replaceObjectAtIndex:idx withObject:someObject];
}
于 2012-05-21T07:43:18.500 回答