2011-11-14 4 views
1

このコードこの場合、オブジェクトがNSStringかどうかを確認する方法はありますか?

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

はcurrentValueはのタイプは__NSCFString

ですが、種類が、私はそれを修正するにはどうすればよい__NSCFConstantString

であれば、それは文字列を認識しない場合に適していますか? (私はOSX上でだ)

おかげ

答えて

4

はこの試してみてください。代わりに、クラスのtextstringをチェックする

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

を、以下を試します:

[myObject isKindOfClass:[NSString class]] 
0

はこれを試してみてください[obj isKindOfClass:[NSString class]];
通常、クラス名をテストするときは、NSClassFromStringが必要ですご利用いただけます。
注:クラスクラスターによって表されるオブジェクトに対してisKindOfClass:メソッドを使用する場合は注意してください。クラスクラスターの性質上、戻ってくるオブジェクトは、必ずしも期待したタイプではないかもしれません。 isKindOfClass:は、受信側が引数として渡されたクラスを継承している場合にYESを返します。

関連する問題