2012-05-21 78 views

回答

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]; 
} 
+0

可你剛剛張貼在如何做到這一點的樣本代碼片段?這看起來像這樣嗎? for(int i = 0; i <[arr count]; i ++){if([arr objectAtIndex:i])NSlog(@「U have the object」)} else {[arr insertObject:anObject atIndex:i];} } –

+0

@PradeepReddyKypa done – justin

+0

非常感謝...請讓你知道這是否有效。 –

相關問題