2016-11-20 43 views
0

我使用的NSMutableDictionary和我檢查,看看爲null,如果它是一個使用這個空(特別是空):如何設置的NSMutableDictionary

if([webContent isKindOfClass:[NSNull class]]) 

如果這是真的,我打個電話到Web服務並使用我處理顯示給用戶的值填充它。

然後我想重置它爲null爲下一個循環,但我不知道如何重置它。我假設這樣重新初始化:

NSMutableDictionary * webContent = [[NSMutableDictionary alloc]init]; 

有更多的開銷比它設置爲空,但請提供您的建議。

感謝

+0

'的NSMutableDictionary *網絡內容= [NSNull空];' 我更喜歡將它設置爲'nil'代替,檢查其空。 –

+0

謝謝。你是否同意我的if語句來檢查它是否爲空?你想提供這個答案嗎? – Jazzmine

+0

它是一個很好的實踐來檢查零,但在使用它之前(但是,零確實響應所有方法,所以它不會只是崩潰)。 –

回答

2

從蘋果文檔:

的NSNull類定義了一個單獨的對象用於在集合對象中表示空值(不允許爲零值)。

對你而言,情況並非如此。您應該使用nil而不是NSNull。然後,測試將只是看起來像

if (webContent) { 
    // do something 
} 

和復位像

webContent = nil; 
+0

感謝鮑里斯的解釋。另外,它編譯沒有錯誤。 – Jazzmine

1

NSMutableDictionary * webContent = nil; 您可以設置null到字典中,不是集合本身的價值:

NSMutableDictionary *dict = [NSMutableDictionary dictionary]; 
[dict setObject:[NSNull null] forKey:@"myKey"]; 
+0

你測試過了嗎?我得到一個不兼容的指針類型,從NSNULL * NonNull'錯誤分配給'NSMutableDictionary *'。 – Jazzmine

相關問題