我班上的这个方法读取以前创建的plist,但是这样做时NSPropertyListSerialization到处泄漏。 NSDates和NSCFStrings大多。我有什么建议可以防止这种情况?

- (id)readPlist:(NSString *)fileName {

    NSData *plistData;
    NSString *errorA;
    NSPropertyListFormat format;
    id plist;

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *localizedPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:fileName];
    plistData = [NSData dataWithContentsOfFile:localizedPath];

    plist = [NSPropertyListSerialization propertyListFromData:plistData mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&errorA];
    if (!plist) {
        DLog(@"Error reading plist from file '%s', error = '%s'", [localizedPath UTF8String], [errorA UTF8String]);
        [errorA release];
    }

    return plist;
}

最佳答案

您可以尝试使用the propertyListWithData:options:format:error: method

10-08 07:28
查看更多