检查NSString是否具有负bool值

时间:2014-11-06 16:35:42

标签: ios ios7 nsstring

在我最近的应用程序中,我收到一个JSON,需要验证objet字符串是否实际上是bool值或普通字符串。

我知道 NSString类有一个方法boolValue。但是,如果建立负bool值或不是有效的bool值,则此方法返回 NO

但是,如果字符串实际上是bool值或普通字符串,我需要在我的应用程序中有不同的行为,因为JSON可以同时具有这两种情况。

任何想法我怎么能实现这个目标?

2 个答案:

答案 0 :(得分:2)

您只需创建NSString类别并添加方法isJSONBoolean

即可
@implementation NSString (JSONBoolean)

-(BOOL) isJSONBoolean
{
    return [self isEqualToString:@"false"] || [self isEqualToString:@"true"]
    || [self isEqualToString:@"NO"] || [self isEqualToString:@"YES"]
    || [self isEqualToString:@"0"] || [self isEqualToString:@"1"];
}

@end

根据您需要测试的值随意更改。

答案 1 :(得分:1)

来自JSON的BOOL实际上将包含在NSNumber中,所以它就像检查对象的类一样简单。

if ([object isKindOfClass:[NSNumber class]]) {
    BOOL value = [object boolValue];
}