2012-07-11 37 views

答えて

25

NSObjectのは提供しています:あなたはこれらをチェックし、あなたがNSStringのが、何かを期待していない場合は

[obj isKindOfClass:[NSString class]] 
[obj isKindOfClass:[NSNumber class]] 

か:

- (BOOL)isKindOfClass:(Class)aClass 

objがあなたがNSDictionaryのから抜け出す値であるならば、チェックアウトをNSNumberを辞書に入れたら、elseブロックにNSAssertを追加します。

のNSStringとNSCFStringのニュアンスに、ここでより多くのコメントがあります:

In Objective-C, how do I test the object type?

6

辞書は、オブジェクトがあるとき

if ([[dictionary valueForKey:@"key"] isKindOfClass:[NSString class]]) { 
     NSLog(@"it is a string"); 
    } 
    else { 
     NSLog(@"it is number"); 
    } 
+0

が動作しない、次のように使用すると、そのクラスの種類を確認することができ、IDを返しますnilまたは[NSNull null]。 – gnasher729

関連する問題