将NSDictionary转换为NSInputStream

时间:2010-09-16 18:54:14

标签: objective-c nsdictionary nsinputstream

是否可以将我的NSDictionary放入NSInputStream? 这将是我的NSDictionary

NSArray *keys = [NSArray arrayWithObjects:@"name", @"device_token", @"identifier", nil];
NSArray *values = [NSArray arrayWithObjects:@"Test iPhone", initDeviceToken, [UIDevice currentDevice].uniqueIdentifier, nil];
NSDictionary *parameters = [NSDictionary dictionaryWithObjects:values forKeys:keys];

我尝试过类似的东西,但它没有用......

NSInputStream *inputStream = [[NSInputStream alloc] init];
[inputStream setValue:@"123" forKey:@"identifier"];

很多

2 个答案:

答案 0 :(得分:1)

不确定。您可以使用NSData将字典序列化为NSPropertyListSerialization对象,然后将数据对象写入NSInputStream

缺点是这需要你的词典只保存plist对象(数字,字符串,日期,数据,数组和字典)。

答案 1 :(得分:0)

符合NSCoding protocol的任何对象都是可序列化的,因此可以写入流。当然,容器对象中的项目也必须符合NSCoding协议。