我有一些变量,它们缓存来自网络服务的一些数据。
为了使我的代码更加动态,我想返回一个指向缓存变量的双指针。所以它是一个双指针。我在使用 ARC 时遇到了一些问题。
这是我得到的:
- (id *)pointerToSectionCacheProperty:(SomeSection)section {
switch (section) {
case Section1:
{
return &_section1Cache;
}
break;
case Section2:
{
return &_section2Cache;
}
break;
case Section3:
{
return &_section3Cache;
}
break;
}
return nil;
}
ARC给我以下错误:
Returning 'NSArray *__strong *' from a function with result type '__autoreleasing id *' changes retain/release properties of pointer
这是错误的方法吗?
如果是这样,正确的方法是什么?