2012-08-29 49 views
0

嘗試避免當NSMutableArray,myArray爲零時發生崩潰。陣列爲零時發生崩潰

這裏是我的代碼行來檢查,如果數組是零:

if (!self.myArray || !self.myArray.count){ 

我剛剛這一行之前設置一個破發點,並使其爲零,我進入GDB做:

(gdb) set self.myArray = nil 
(gdb) po self.myArray 
0x11064e8 does not appear to point to a valid object. 

當我跨過如果我得到一個EXC_BAD_ACCESS的。是什麼賦予了?

+0

它似乎是self.myArray實際*不是零的情況,而是一個非NULL,無效的指針。 – 2012-08-29 11:30:17

+0

這是使用ARC嗎? – Asciiom

+0

它不使用ARC。 – Snowcrash

回答

0

這會檢查你的數組是否爲零並且有一個元素。

if (myArray != nil && [self.myArray count] > 0){ 
+0

但這並不回答這個問題。 – 2012-08-29 11:29:54

+0

我仍然使用這行代碼崩潰。 – Snowcrash

0

檢測開關是否你的陣列是零或者它沒有任何項目

if (!myArray || myArray.count==0) { 
} 
0

最有可能的兩個測試完成後,或第二次測試首先進行,在這種情況下,它會嘗試來自零對象的訪問計數並引發錯誤。