Web サービスからのデータをキャッシュする変数がいくつかあります。
コードをより動的にするために、キャッシュ変数への double ポインターを返したいと考えています。つまり、ダブルポインターです。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
これは間違ったアプローチですか?
もしそうなら、正しいアプローチは何ですか?