尝试将NSDictionary转换为NSData时,NSPropertyListSerialization返回nil

时间:2012-02-24 21:47:22

标签: iphone objective-c nsdictionary nsdata

我正在尝试将NSDictionary转换为NSData以存储在核心数据中,但我得到了一个零值返回给我。错误状态调用后显示“未知格式选项”。

NSString *error = nil;
NSData *d = [NSPropertyListSerialization dataFromPropertyList:data format:NSPropertyListImmutable errorDescription:&error];

我想要转换的数据是一个NSDictionary,NSStrings作为键和值。这是数据字典的转储:

Printing description of data:
<CFBasicHash 0xc96fd60 [0x18ecb38]>{type = immutable dict, count = 4,
entries =>
0 : <CFString 0x17c9fc [0x18ecb38]>{contents = "title"} = <CFString 0xecc8040 [0x18ecb38]>{contents = "test"}
1 : <CFString 0x17ca2c [0x18ecb38]>{contents = "author"} = <CFString 0xc9643f0 [0x18ecb38]>{contents = "test"}
2 : <CFString 0x17ca0c [0x18ecb38]>{contents = "goal"} = <CFString 0xc96f730 [0x18ecb38]>{contents = "test"}
4 : <CFString 0x17ca1c [0x18ecb38]>{contents = "description"} = <CFString 0xc9643f0 [0x18ecb38]>{contents = "test"}
}
Printing description of error:
Unknown format option

关于我出错的地方或将NSDictionary转换为NSData的其他方法的任何想法?

1 个答案:

答案 0 :(得分:0)

正如文档所述,format参数必须是以下之一:

NSPropertyListOpenStepFormat
NSPropertyListXMLFormat_v1_0
NSPropertyListBinaryFormat_v1_0
相关问题