jsh*_*erk 14 cocoa-touch objective-c ios
对于iOS,给出了一些NSDictionary为其中加入字符串值的键/值对NSString和int/ float值加入作为NSNumber,是有办法来测试一个值的数据类型,看看它是否是NSString或NSNumber?
bry*_*mac 25
NSObject提供:
- (BOOL)isKindOfClass:(Class)aClass
Run Code Online (Sandbox Code Playgroud)
如果obj是您从NSDictionary中获得的值,那么结帐:
[obj isKindOfClass:[NSString class]]
[obj isKindOfClass:[NSNumber class]]
Run Code Online (Sandbox Code Playgroud)
如果你检查这些并且你不希望在字典中只有NSString或NSNumber,那么我会在else块中添加一个NSAssert.
这里有更多关于NSString和NSCFString细微差别的评论:
字典返回一个id你可以检查它的类类型如下
if ([[dictionary valueForKey:@"key"] isKindOfClass:[NSString class]]) {
NSLog(@"it is a string");
}
else {
NSLog(@"it is number");
}
Run Code Online (Sandbox Code Playgroud)