代码之家  ›  专栏  ›  技术社区  ›  Keith Fitzgerald

如何使用NSPropertyListXMLFormat_v1_0格式的NSKeyedArchiver将对象序列化为文件?

  •  0
  • Keith Fitzgerald  · 技术社区  · 17 年前

    希望这个标题足够清晰。不管怎样,看起来:

    [NSKeyedArchiver archiveRootObject:rootObject toFile:path];
    

    NSPropertyListBinaryFormat_v1_0 .

    3 回复  |  直到 17 年前
        1
  •  6
  •   Marc Charbonneau    17 年前

    NSPropertyListSerialization 基本上,假设您正在序列化的对象被调用 myObject 最终文件存储在 myPath ,您可以使用以下代码片段将其序列化为XML:

    NSString *error = nil;
    NSData *mySerializedObject = [NSKeyedArchiver archivedDataWithRootObject:myObject];
    NSData *xmlData = [NSPropertyListSerialization dataFromPropertyList:mySerializedObject
                            format:NSPropertyListXMLFormat_v1_0
                            errorDescription:&error]:
    if( xmlData ) {
        [xmlData writeToFile:myPath atomically:YES];
    } else {
        NSLog(error);
        [error release];
    }
    
        2
  •  6
  •   Jason Coco superfell    14 年前

    尝试创建NSKeyedArchiver的实例并使用 setOutputFormat:NSPropertyListXMLFormat_v1_0

        3
  •  0
  •   Muhammad Aamir Ali    13 年前

    您必须使用方法对对象类进行编码 -(void)encodeWithCoder(NSCoder*)编码器{

    [coder encodeObject:name forKey:@"name"];
    [coder encodeObject:address forKey:@"address"];
    [coder encodeObject:position forKey:@"position"];
    

    }