objective-c - __NSCFBoolean isEqualToString :]: unrecognized selector sent to instance

标签 objective-c json

当我从 JSON php 获取值时,我遇到了 __NSCFBoolean isEqualToString 的问题:

我的代码如下:

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
        //convert to JSON
        for(id key in res) {
        id value = [res objectForKey:key];

        NSString *keyAsString = (NSString *)key;
        NSString *valueAsString = (NSString *)value;
        //NSCFBoolean
        /*if([value isKindOfClass:[NSNumber class]])
        {
            printf("Number");
        }
        else if([value isKindOfClass:[NSString class]])
        {
            printf("String --- \n");
            if([value isEqualToString:@"0"])
            {
                printf("Wrong \n");
            }
            else
            {
                printf("Right \n");
            }
        }*/
        NSLog(@"%@",[valueAsString class]);
        if([keyAsString isEqualToString:@"success"])
        {
            printf("Working \n");
        }
        else
        {
            printf("Not Working\n");
        }
        //Error is in below line
        if([valueAsString isEqualToString:@"0"])// strcmp([value objCType], @encode(BOOL)) == 1)
        {
            [self loginSuccess];
        }
        else if(strcmp([value objCType], @encode(BOOL)) == 0)
        {
            [self loginFailure];
        }
        NSLog(@"key: %@", keyAsString);
        NSLog(@"value: %@", valueAsString);
    }

}

获取 [__NSCFBoolean isEqualToString:]: 无法识别的选择器发送到实例 0x1dc9964 的问题

从昨天开始用谷歌搜索这个问题,但还没有解决方案。 NSCFBoolean 现在在 iOS 6.0 中也不可用。那么我该怎么做才能从 JSON 字符串中检查“0”或“1”呢?请帮忙。

最佳答案

value 是一个 NSNumber 对象(__NSCFBoolean,因为 NSNumber 是一个类簇)而不是一个字符串!使用 [value boolValue] 确定它是 0 还是 1。

转换对象不会改变它的类型!

关于objective-c - __NSCFBoolean isEqualToString :]: unrecognized selector sent to instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14662947/

相关文章:

json - Elasticsearch “span and”

iphone - 请求成员 'constantCoordinateValue' 不是核心情节中的结构或联合错误

iphone - 如何通过选择器传递变量?

iphone - 转换前。 2010-09-11T00 :00:00+01:00 format to NSDate

iphone - 为什么 ViewController 类的单独实例会影响前一个实例?

ios - AVAudioUnitSampler 错误 loadSoundBankAtURL -> 无法找到补丁 0 库 0x0/0

json - mariadb json查询获取特定子值的父键

java - 使用 Gson,如何解析具有复杂结构的 JSON 响应

c# - 将对象直接序列化为 JObject 而不是 json.net 中的字符串

java - JSON数组的反序列化