N错误无可见接口iOS 8.1

N错误无可见接口iOS 8.1,ios,objective-c,nserror,Ios,Objective C,Nserror,这段代码在iOS 8上运行。然而,现在当我在发布模式下构建时,我得到了一个 对于“NSError”,没有可见的@interface声明选择器“code” 代码位于n错误上。我可以点击查看它,但是我不明白为什么它停止使用xcode 6.1和iOS 8.1 我尝试在5.1.1上构建,它在发布模式下构建得很好 +(BOOL) isResponseError:(NSURLResponse *)response responseString:(NSString *)responseString error

这段代码在iOS 8上运行。然而,现在当我在发布模式下构建时,我得到了一个

对于“NSError”,没有可见的@interface声明选择器“code”

代码位于n错误上。我可以点击查看它,但是我不明白为什么它停止使用xcode 6.1和iOS 8.1

我尝试在5.1.1上构建,它在发布模式下构建得很好

+(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;
        }
    }
}
+(BOOL)isResponseError:(nsurResponse*)responseString:(NSString*)responseString错误:(NSError*\uu autoreleasing*)错误{
NSInteger statusCode=0;
如果(*错误){
statusCode=[*错误代码];
}
if([response iskindof类:[NSHTTPURLResponse类]]){
statusCode=[(NSHTTPURLResponse*)响应状态代码];
}

如果(statusCode>=400 | | | statusCode您正在一个
NSError
实例中传递,那么您不需要
\u自动释放
或指向指针的指针:

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

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

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

你确定问题不仅仅是
n错误的前向声明,而不是在发布的代码中吗?我删除了前六行,并将它们放入Xcode 6中,没有任何警告或错误。是的。我尝试了发布版本d、 没有警告,没有错误。