2
我有一個對象,我不知道是一個NSString或不是(可能是NSNull,例如,當讀取一個JSON到一個NSDictionary),我想得到一個NSString *,如果它是一個有效的字符串,否則爲零。檢查目標C中變量類的最佳方法是什麼?
除了寫我自己的功能之外,還有一種可以接受的方式嗎?
+(NSString*)stringWithMaybeString:(id)maybeString {
if ([maybeString isKindOfClass:[NSString class]])
return maybeString;
return nil;
}
我的方法當然是一個NSString類裏面:)但是我希望在那裏被一些內置的... – Danra 2010-10-12 10:22:03
@Danra - 有時你必須做一些工作你自己:) – willcodejavaforfood 2010-10-12 11:46:39
後用Objective C的一些經驗,我可以說它只是「動態」的動態方式。所以儘管知道靜態類型的對象是可能的(有時也是必需的),但它並不是主流的東西。例如,我曾經在方法中聲明檢查參數類型是否與預期的類型匹配,或者不是零。雖然它確實發現了一些錯誤,但是一直這樣做會給代碼帶來很大的負擔。這不僅僅是objective-c鼓勵你做的事情。 – Danra 2011-09-27 18:20:05