Reputation: 2078
Is it possible to put in my NSDictionary into a NSInputStream? This would be my 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];
I tried something like this but it didn't worked...
NSInputStream *inputStream = [[NSInputStream alloc] init];
[inputStream setValue:@"123" forKey:@"identifier"];
Thx a lot
Upvotes: 0
Views: 477
Reputation: 1164
Yes.
Any object that conforms to the NSCoding protocol is serializable and as such writable to a stream. Of course the items in a container object must also conform to the NSCoding protocol.
Upvotes: 0
Reputation: 243156
Sure. The way you can do it is serialize your dictionary into an NSData
object using NSPropertyListSerialization
, and then write your data object out to your NSInputStream
.
The downside is that this requires that your dictionary only hold plist objects (numbers, strings, dates, data, arrays, and dictionaries).
Upvotes: 1