2010-10-27 23 views
1

我已經看到並完成了初始化數組,並且在初始化結束時都將「nil」置於初始化結束,但從不提問,爲什麼需要放在那裏?在Objective-C初始化數組結束時「nil」的用途

另外,如果你正在初始化數組中循環,它仍然是必要把零在數組的結尾嗎?例如,

array = [[NSMutableArray alloc] init]; 

for (int i = 0 ; i < 10; i++) 
{ 
    [array addObject:@"1"]; 
} 

// now this line is required or not after i exit the loop? 
[array addObject:nil]; 
+0

出於興趣,是什麼讓你相信它可能是必需的? – JeremyP 2010-10-27 15:35:33

+0

@JeremyP - 我的應用程序崩潰了,所以只是想,可能會導致崩潰。雖然我錯了。 – itsaboutcode 2010-10-28 01:13:34

回答

6

這個概念被稱爲零終止,它的目的是提供一個哨點到接收函數或方法的地方var可靠的參數列表結束。

+0

但是我應該把它放在給定的例子中嗎?我剛剛嘗試過,它似乎讓我的應用程序崩潰。 – itsaboutcode 2010-10-27 01:06:11

+2

@itsaboutcode,不,這隻適用於各種便利方法。 – 2010-10-27 01:06:42

+2

事實上,[array addObject:nil]將會崩潰,因爲你不能在NSArrays中放入nils。 – 2010-10-27 01:42:15