我正在尝试将项目转换为 ARC。该项目有一个有向无环字图,这基本上意味着到处都有很多双间接指针。
事实证明,转换为 ARC 是一项相当大的挑战,尤其是一个问题让我目前感到困惑。
这是场景。
假设你有一个NSString *
:
NSString *b = [[NSString alloc] initWithString:@"hello"];
您还有一个双重间接类型:
__unsafe_unretained NSString **a;
您想将一个分配给另一个,如下所示:
a = &b;
这给出了一个转换错误:
error: assigning 'NSString *__strong *' to 'NSString *__unsafe_unretained *' changes retain/release properties of pointer
更改b
为__unsafe_unretained
不起作用。我也尝试过各种桥接演员。我在这里遗漏了一些明显的东西吗?
有任何想法吗?
谢谢!