看板 MacDev 關於我們 聯絡資訊
小弟想判斷如果ProcessArray不等於null就執行 [self ProcessJSONDateFormat] 但是寫成這樣就出現Crash in Main thread Log: ProcessArray:() ProcessArray == 0 -[NSNull length]: unrecognized selector sent to instance 0x3c4e1090 我的程式碼如下: ProcessArray = [EventSheetDetailArray valueForKey:@"Process"]; NSLog(@"ProcessArray:%@",ProcessArray); if (ProcessArray.count > 0 ) { NSLog(@"ProcessArray != 0"); [self ProcessJSONDateFormat]; }else{ NSLog(@"ProcessArray == 0"); } 請問前輩有什麼方法可以避免這樣的錯誤呢??謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.243.104.78
kiii210:[NSNull null] 04/17 14:08
joojooman:小弟有使用[NSNull null]方式還是會有那個問題 04/17 15:08
joojooman:小弟詳細的問題 網址:http://stackoverflow.com/questio 04/17 15:09
joojooman:修正為 http://goo.gl/e3NpE 04/17 15:11
yuanruo:ProcessArray 是空的還是nil ? 空的才能用[NSNULL null] 04/17 15:28
wasihero:if([ProcessArray isKindOfClass:[NSNull class]]) 04/17 15:32
joojooman:Log 顯示為ProcessArray:() 04/17 16:09
joojooman:To wasihero:謝謝前輩我試過你的方式 還是無法正確判斷! 04/17 17:39
joojooman:不過不會出現-[NSNull length]錯誤! 04/17 17:41
試著改成wasihero前輩說的那樣,ProcessArray不管有無值都會跑else那部分 ProcessArray = [EventSheetDetailArray valueForKey:@"Process"]; if([ProcessArray isKindOfClass:[NSNull class]]) { NSLog(@"ProcessArray-1"); }else{ NSLog(@"ProcessArray-2"); } ※ 編輯: joojooman 來自: 111.243.104.78 (04/17 17:50)
kiii210:NSLog(@"ProcessArray:%@",ProcessArray);出現什麼? 04/17 17:55
回 kiii210:Log 是 ProcessArray:()
kiii210:之前好像有遇過類似問題 04/17 17:55
tentenlee:真的是這串的錯嗎?? 04/17 19:27
kokuyoku:Log出現ProcessArray == 0後才跳出-[NSNull length]錯誤 04/17 23:15
kokuyoku:所以應該是在NSLog(@"ProcessArray == 0");之後某個class 04/17 23:16
kokuyoku:或id有調用length方法時的地方 04/17 23:16
抱歉!小弟出現[NSNull length]錯誤是因為其他code的原因! ProcessArray = [EventSheetDetailArray valueForKey:@"Process"]; NSLog(@"ProcessArray:%@",ProcessArray); if (ProcessArray.count > 0 ) { NSLog(@"ProcessArray != 0"); [self ProcessJSONDateFormat]; }else{ NSLog(@"ProcessArray == 0"); } 以上這樣寫法沒錯~感謝各位的幫忙! ※ 編輯: joojooman 來自: 111.243.102.45 (04/18 13:31)