15

iOSの場合、文字列値がとして追加され、/値がとして追加されたいくつかのNSDictionaryキー/値ペアが与えられた場合、値のデータ型をテストして、それがそうであるかどうかを確認する方法はありますか?NSStringintfloatNSNumberNSStringNSNumber

4

2 に答える 2

26

NSObjectは以下を提供します:

- (BOOL)isKindOfClass:(Class)aClass

objがNSDictionaryから取得する値である場合、チェックアウトします。

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

これらをチェックし、ディクショナリにNSStringまたはNSNumber以外のものがない場合は、elseブロックにNSAssertを追加します。

NSStringとNSCFStringのニュアンスについては、さらにコメントがあります。

Objective-Cで、オブジェクトタイプをテストするにはどうすればよいですか?

于 2012-07-11T04:02:18.980 に答える
7

辞書は次のようにクラスタイプを確認できるIDを返します

if ([[dictionary valueForKey:@"key"] isKindOfClass:[NSString class]]) {
        NSLog(@"it is a string");
    }
    else {
        NSLog(@"it is number");
    }
于 2012-07-11T04:28:02.733 に答える