ios - NSError 没有可见界面 iOS 8.1

标签 ios objective-c nserror

这段代码在 iOS 8 上运行。但是,现在当我在 Release模式下构建时,我得到了一个

No Visible @interface for 'NSError' declares the selector 'code'.



代码位于 NSError .我可以点击进去看看,但是,我不明白为什么它只是停止使用 xcode 6.1 和 iOS 8.1

我尝试在 5.1.1 上构建,它在 Release模式下构建良好。
+(BOOL) isResponseError:(NSURLResponse *)response responseString:(NSString *)responseString error:(NSError *__autoreleasing *)error {
    NSInteger statusCode = 0;

    if (*error) {
        statusCode = [*error code];
    }

    if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
        statusCode = [(NSHTTPURLResponse *)response statusCode];
    }

    if (statusCode >= 400 || statusCode <= kCFURLErrorUnknown) {
        NSMutableDictionary *dic = [NSMutableDictionary dictionary];
        [dic setValue:[NSHTTPURLResponse localizedStringForStatusCode:statusCode] forKey:NSLocalizedDescriptionKey];


        return true;
    } else {
        id ret = [Serialization deserializeJSON:responseString];

        if ([ret superclass] == [NSMutableDictionary class] || [ret class] == [NSDictionary class]) {
            if ([ret objectForKey:@"error"]) {
                NSMutableDictionary *dic = [NSMutableDictionary dictionary];
                [dic setValue:[ret objectForKey:@"error"] forKey:NSLocalizedDescriptionKey];
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }
}

最佳答案

您正在通过 一个 NSError实例所以你不需要__autoreleasing或指向指针的指针:

+(BOOL) isResponseError:(NSURLResponse *)response responseString:(NSString *)responseString error:(NSError *)error {
    NSInteger statusCode = 0;

    if (error) {
        statusCode = [error code];
    }

如果在 8.1 之前没有错误并且不是因为编译器错误检查得到了改进。

关于ios - NSError 没有可见界面 iOS 8.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26870608/

相关文章:

ios - swift:等效的 objective-c 运行时类

objective-c - segue加载viewcontroller但不显示它

ios - 在 NSSet 中查找丢失的对象

ios - NSURLSession didCompleteWithError :gets called with NSError is nil

ios - NSURLRequest 返回 NSURLErrorNetworkConnectionLost 但可达性表明网络连接已开启

iphone - 带按钮和错误处理的照片浏览器

iphone - 播放简短的单词声音,以及声音文件格式?

iphone - 处理UIScrollView中UITextField的touchesBegan方法

Objective-C C 风格函数

iphone - 为什么将 `&`(& 符号)放在某些方法参数的前面?