私には方法があり、ARCを使用していません:
-(void)readAppPlist
{
NSString *plistPath = [self getDataFileDestinationPath];
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];
NSString *errorDesc = nil;
NSPropertyListFormat format;
NSMutableDictionary *temp = (NSMutableDictionary *) [NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc];
if (!temp) {
NSLog(@"Error reading plist: %@, formatL %d", errorDesc, format);
}
items = [[temp objectForKey:@"Items"] mutableCopy];
}
メモリ管理の規則によれば、変数 plistPath、plistXML、errorDesc、temp のメモリをどこで解放する必要がありますか? もう 1 つのメソッドを作成するか、ここで解放するか、このクラスの dealloc グローバル メソッドに配置しますか?