2010-10-12 67 views
2

我有一個對象,我不知道是一個NSString或不是(可能是NSNull,例如,當讀取一個JSON到一個NSDictionary),我想得到一個NSString *,如果它是一個有效的字符串,否則爲零。檢查目標C中變量類的最佳方法是什麼?

除了寫我自己的功能之外,還有一種可以接受的方式嗎?

+(NSString*)stringWithMaybeString:(id)maybeString { 
    if ([maybeString isKindOfClass:[NSString class]]) 
     return maybeString; 
    return nil; 
} 

回答

1

你的方法看起來像這樣對我:)

也許你可以使用類別將它添加到的NSString的接受的方式。

+0

我的方法當然是一個NSString類裏面:)但是我希望在那裏被一些內置的... – Danra 2010-10-12 10:22:03

+0

@Danra - 有時你必須做一些工作你自己:) – willcodejavaforfood 2010-10-12 11:46:39

+0

後用Objective C的一些經驗,我可以說它只是「動態」的動態方式。所以儘管知道靜態類型的對象是可能的(有時也是必需的),但它並不是主流的東西。例如,我曾經在方法中聲明檢查參數類型是否與預期的類型匹配,或者不是零。雖然它確實發現了一些錯誤,但是一直這樣做會給代碼帶來很大的負擔。這不僅僅是objective-c鼓勵你做的事情。 – Danra 2011-09-27 18:20:05

相關問題