作者inzaghi0507 (KaKa)
看板MacDev
標題[問題] 關於array插入null值
時間Sun Aug 22 20:47:39 2010
目前在寫程式的時候遇到了一些困難
現在想要把手機電話簿裡的值分類取出來存成array
舉例來說就是姓氏、電話等等取出成NSString之後
再分別存進nameArray、PhoneArray這樣
取值部分沒有問題
但問題發生在有時候某些欄位取出來是沒有值的
在使用 [某某array addObject:某某string];
會有Error
希望能夠吧nil的值也存進Array裡
(而不是被下一個取出的值給寫入)
搜尋了一下有提到NSNULL這個東西
但是試過了還是有問題(應該是我用錯了吧XD)
請問各位高手有相關經驗嗎?
或是有其他更smart的方法?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.87.53
1F:→ zonble:就是用 NSNull 啊 08/22 21:11
2F:→ zonble:把 [NSNull null] 放進去就好 08/22 21:12
3F:→ inzaghi0507:是說這樣嗎? [某某array addObject:[NSNull null]]; ? 08/22 21:19
4F:→ zonble:是啊 08/22 21:25
5F:→ zonble:建議稍微花點時間了解 NULL、nil、Nil 與 NSNull 差別 08/22 21:27
6F:推 aecho:NULL, nil, Nil是不一樣的東西嗎?? 08/22 21:32
7F:→ zonble:不一樣 08/22 21:38
8F:→ zonble:NULL 就是 0,nil 雖然是 0,但是可以對 nil 送 08/22 21:39
9F:→ zonble:objc message。Nil 是空的 class 08/22 21:39
10F:→ inzaghi0507:Z大我嘗試過之後console反而出現了 08/22 21:39
11F:→ inzaghi0507:[NSNull isEqualToString:]: unrecognized selector 08/22 21:40
12F:→ inzaghi0507:sent to instance 0x2737d68 08/22 21:40
13F:→ inzaghi0507:他說是'NSInvalidArgumentException' 08/22 21:41
14F:→ zonble:因為你對 NSNull 傳了NSString 的 method 08/22 21:41
15F:→ zonble:如果你知道 array 裡頭有 NSNull 08/22 21:42
16F:→ zonble:就用 isKindOfClass: 判斷一下哪種物件可以做什麼事 08/22 21:42
17F:→ zonble:例如發現是 [NSNull class] 就 return 了 08/22 21:42
18F:推 Maiyo:呃...要是我就不會用NSNull 直接存入@""就好 @@ 08/22 22:56
19F:推 leondemon:zonble在外面有沒有開課呀? 我好想上~ 08/22 23:25
20F:→ inzaghi0507:我也想上課 自學好累喔 08/22 23:41
21F:→ zonble:放個 NSNull 與放 @"" 還是有差別,因為你有時候會想要判斷 08/23 00:12
22F:→ zonble:到底是真的沒資料,還是的確就是個長度為 0 的字串 08/23 00:13
23F:→ zonble:另外,Cocoa framework 還有另外一個代表沒東西的玩意 08/23 00:13
24F:→ zonble:叫做 WebUndefined,不過這個通常不太會用到 08/23 00:14
25F:→ zonble:WebUndefined 的用途是,在 webkit 中,每個網頁上的 js 08/23 00:14
26F:→ zonble:物件,其實都可以翻譯成對應的 objc 物件,而如果是沒有 08/23 00:14
27F:→ zonble:定義的 js 物件,就會變成 WebUndefined。 08/23 00:15
28F:推 offname:比較是不是[NSNull null],直接用 == 比。就可以了 08/23 09:28
29F:→ inzaghi0507:是指可以利用(A==[NSNull null])或(A!=[NSNull null]) 08/23 09:57
30F:→ inzaghi0507:來判斷A是不是沒有資料囉? 08/23 09:57
31F:推 offname:判斷是不是[NSNull null]。[NSNull null] 是唯一的。 08/23 12:48
32F:推 mymaydayya:同樓上 先判斷是否為[NSNull null] 不是再用isEqual... 08/23 16:42