メソッドへのポインタにポインタを渡そうとしていますが、どうやらARCにはそれを行う方法にいくつかの問題があります。ここに2つの方法があります。
+ (NSString *)personPropertyNameForIndex:(kSHLPersonDetailsTableRowIndex)index
{
static NSArray *propertyNames = nil;
(nil == propertyNames) ?
[self SHL_initPersonPropertyNamesWithArray:&propertyNames] : NULL;
}
+ (void)SHL_initPersonPropertyNamesWithArray:(NSArray **)theArray
{
*theArray = [[NSArray alloc]
initWithObjects:@"name", @"email", @"birthdate", @"phone", nil];
}
次のエラーが表示されます。
自動参照カウントの問題:非ローカルオブジェクトのアドレスを__autoreleasingパラメータに渡して書き戻す
次のコマンドが表示される行:
[self SHL_initPersonPropertyNamesWithArray:&propertyNames] : NULL;