Skip to main content

NSPropertyListSerialization returns nil when trying to convert NSDictionary to NSData



I'm trying to convert an NSDictionary to NSData to store in core data, but I am getting a nil value returned to me. error states 'Unknown format option' after the call.







NSString *error = nil;

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







The data I'm trying to convert is an NSDictionary with NSStrings as keys and values. Here is a dump of the data dictionary:







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







Any ideas on where I went wrong or alternate ways to convert an NSDictionary to NSData?


Comments

  1. As the documentation says, the format parameter must be one of these:

    NSPropertyListOpenStepFormat
    NSPropertyListXMLFormat_v1_0
    NSPropertyListBinaryFormat_v1_0

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?