2011-11-14 92 views
1

此代碼在這種情況下如何識別對象是否爲NSString?

if ([currentValue isKindOfClass:NSClassFromString(@"NSString")]) { 
      CBDebug(@"this is a string"); 

效果很好,當CurrentValue的類型是__NSCFString

但如果類型是__NSCFConstantString

如何解決它,它不承認字符串? (我在OSX)

感謝

回答

4

試試這個:

if ([currentValue isKindOfClass:[NSString class]]) {  
      CBDebug(@"this is a string"); 
} 
3

而是檢查類的textstring的,不要嘗試以下操作:

[myObject isKindOfClass:[NSString class]] 
0

試試這個[obj isKindOfClass:[NSString class]];
正常情況下,您只需要NSClassFromString測試類名稱可能不是提供給你。
注意:在類集羣表示的對象上使用isKindOfClass:方法時要小心。由於類集羣的性質,您返回的對象可能並不總是您所期望的類型。 isKindOfClass:將返回YES,如果接收者某處繼承了作爲參數傳遞的類。