我從服務器獲取數據,然而NSString
是NULL
在某些情況下,我不知道爲什麼NSString
是NULL,怎麼用NSString
做NULL?如何使NSString是NULL
-2
A
回答
0
試試下面的宏
#define IsNULL(original) original == (id)[NSNull null]
#define IfNULL(original, replacement) IsNULL(original) ? replacement : original
#define SafeString(value) IfNULL(value, @"")
然後用
NSLog("%@",SafeString(YOURSTRING));
2
好了,該字符串不是NULL
。
首先,在目標C中,您應該使用nil
而不是NULL
。
另一件事,你不能在iOS容器中有nil
(NSArray
,NSDictionary
等)。 但是,一些API需要爲一個鍵設置一個空值。
要解決這個問題,Apple推出了NSNull
類(和單例)。
因此,要檢查數據是空的,你必須將值與NSNull
單比較,像這樣:
id data = yourDictionary[@"yourKey"];
if (data == [NSNull null]) {
// Data is invalid, and calling any message on it will result in a crash
} else {
// Place your data in the any kind of container. You can even use isKindOfClass to be sure.
NSString * string = data;
}
相關問題
- 1. 如何在NSString中使用NULL字符?
- 2. NSData返回NSString Null
- 3. 如何檢查NSURL是否包含NSString null?
- 4. 似乎null NSString的長度是6?
- 5. 如何使NSString宏?
- 6. NSDateFormatter結果爲null NSString
- 7. Sqlite爲無NSString插入'(null)'
- 8. NSString被返回爲'null'
- 9. NSDateFormatter&NSString返回(null)日期
- 10. initFileURLWithPath:(的NSString)返回null
- 11. NSInteger返回0如果NSString爲NULL
- 12. 如何使用NSString編碼?
- 13. 如何使用NSString getBytes:maxLength:usedLength:encoding:options:range:remainingRange:
- 14. 如何解決運行時錯誤NSString,sqlite3_column_text NULL的問題?
- 15. 如何的NSString
- 16. 如何使用!= NULL
- 17. 確定是否NSString的包含一個值以外的NULL/NIL
- 18. 的iOS的NSString initwithbytes返回null
- 19. 無[NSString stringWithFormat:]字符串顯示爲「(null)」
- 20. NULL值繼續終止我的NSString
- 21. 重新編碼的NSString返回null
- 22. 的NSString返回NULL,而這樣做NSUTF8StringEncoding
- 23. 在NSURLConnection中將NSData轉換爲NSString = null
- 24. 簡單的NSString錯誤 - 打印(null)
- 25. 解析XML NSString到NSDate輸出(null)
- 26. 的NSDate從NSString的返回null問題
- 27. 在ViewControllers之間傳遞NSString返回NULL
- 28. 如何檢查NSString是否包含'%'?
- 29. 如何計算NSString是否太長drawInRect
- 30. 如何確定NSString是否爲空
的樣本數據將是有益的。 –
聽起來像服務器正在響應沒有數據 – griz
將建議創建一個字符串不包含字符 – Saurabh