4
我使用SBJsonParser來解析JSON。一個輸入可以是0或一個字符串(例如a829d901093),如果它是零,則返回NSCFBoolean,如果它的字符串NSCFString被返回。我怎麼知道哪一個返回? 謝謝!比較NSCFString和NSCFBoolean
我使用SBJsonParser來解析JSON。一個輸入可以是0或一個字符串(例如a829d901093),如果它是零,則返回NSCFBoolean,如果它的字符串NSCFString被返回。我怎麼知道哪一個返回? 謝謝!比較NSCFString和NSCFBoolean
通過內部免費電話撥打這些電話會造成混淆。如果你給他們打電話NSNumber
和NSString
(因爲它們在文檔中列出),那麼答案是明確的:
if ([value isKindOfClass:[NSNumber class]]) { ... }
編輯:@Magnus指出,這不是明顯,NSCFBoolean
ISA NSNumber
在爲了查找它們。確實如此。對我來說,這是非常明顯的,因爲我知道核心基礎類型系統,我知道免費橋接類是什麼意思,以及它們是如何實現的(這是所有可可IMO中最酷的技巧之一)。但如果你不知道這些事情呢?這仍然沒有問題。
在調試器中,查看變量列表並展開您關心的變量。它的第一個「成員」將是它的超類。擴大。繼續直到找到你認識的班級。
或者,您可以使用NSStringFromClass([object superclass])
步行超級班。繼續跟上superclass
的等級,你想檢查。
我同意。唯一令人沮喪的是,在任何崩潰轉儲中,他們都會鰭NSCFBoolean等等..在文檔中搜索它將不會給結果:-( – Magnus 2012-01-13 12:46:57
LOL!謝謝!(我今天早上需要一個笑聲:-) – mpemburn 2013-03-08 11:13:18