ios 不兼容的指针类型从 NSError _autoreleasing 分配给 NSError _strong

Posted

技术标签:

【中文标题】ios 不兼容的指针类型从 NSError _autoreleasing 分配给 NSError _strong【英文标题】:ios incompatible pointer types assigning to NSError _strong from NSError _autoreleasing 【发布时间】:2013-06-24 17:54:29 【问题描述】:

我收到此错误:

incompatible pointer types assigning to NSError _strong from NSError _autoreleasing

这是我的头文件:

@interface myClass : NSObject


    NSError *errorPointer;

这是我的实现文件:

- (id)initWithError:(NSError **)error

    if (self = [super init])
    
        errorPointer = error; // <-- here is where I'm getting the error
    
    return self;

你们中的任何人都知道为什么或如何解决此错误吗?

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

(NSError **)error 应该是 (NSError *)error

【讨论】:

你能详细说明为什么会这样,或者什么时候会这样,因为我能找到的每个例子都说要使用 (NSError **) @LogicsaurusRex NSError** 用于从函数返回(通常是可选的)值。如果 NSError 是一个普通的传入对象(罕见但可能),则使用 NSError*。

以上是关于ios 不兼容的指针类型从 NSError _autoreleasing 分配给 NSError _strong的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 7 之前的项目中编译警告“不兼容的指针类型初始化 'UIImage *' 使用类型为'CIImage * _Nullable”的表达式

不兼容的块指针类型将“int (^)(__strong id, __strong id)”发送到“NSComparator”类型的参数

iOS不兼容的块指针类型问题

指针类型不兼容??奇怪的

iOS 不兼容的指针类型(来自 NSDictionary 的 NSMutableDictionary)

iOS - AFNetworking GET 方法中不兼容的块指针类型