使用ARC隐式转换指向objective-c指针的间接指针

Raf*_*ira 11 iphone objective-c ios

我正在开发一个使用ARC的项目,我现在遇到了一段已有的现有代码.

继承人代码:

- (id)initWithError:(NSError **)error
{
    if ((self = [super init]))
    {
        errorPointer =  error; //Getting error here
    }

    return self;
}
Run Code Online (Sandbox Code Playgroud)

我得到一个错误说:

ARC不允许隐式转换指向'NSError'的objective-c指针的间接指针.

我该怎么做才能解决这个问题?我试过做过桥接演员,但是没有用.任何帮助表示赞赏.

哦,只是为了澄清,在.h文件中这是我声明变量errorPointer的方式:

NSError*errorPointer;

谢谢!

das*_*ght 10

它应该是

errorPointer = *error; // no error here
Run Code Online (Sandbox Code Playgroud)

这两个变量的间接程度不同(简单地说,它们的声明中的星数不同).您需要*在前面添加一个error以抵消额外*errorPointer.

  • 不应该是`errorPointer =*error;`? (2认同)