Automatic Reference Counting Problem: die Übergabe der Adresse des nicht-lokalen Objekt __autoreleasing parameter für write-back
Ich versuche, mich zu übergeben-Zeiger auf Zeiger auf eine Methode, aber offenbar ARC hat einige Probleme mit, wie ich bin, es zu tun. Hier die zwei Methoden:
+ (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];
}
Erhalte ich die folgende Fehlermeldung:
Automatic Reference Counting Problem: die Übergabe der Adresse des nicht-lokalen Objekt __autoreleasing parameter für write-back -
Auf der Linie, die Sie den folgenden Befehl angezeigt:
[self SHL_initPersonPropertyNamesWithArray:&propertyNames] : NULL;
- Überprüfen Sie in diesem [stackoverflow.com/questions/8814718/... wie gut, das klären die meisten Zweifel
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den __stark storage qualifier ist notwendig für diesen Fall.
Dieser code jedoch nicht Folgen, die Basic Memory Management Regeln.
Aus welchem Grund willst du das tun?