2010-09-16 4 views
0

Est-il possible de mettre mon NSDictionary dans un NSInputStream? Ce serait mon NSDictionaryNSDictionary dans un NSInputStream

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]; 

j'ai essayé quelque chose comme ça, mais il n'a pas fonctionné ...

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

Thx beaucoup

Répondre

1

Bien sûr. La façon dont vous pouvez le faire est de sérialiser votre dictionnaire dans un objet NSData en utilisant NSPropertyListSerialization, puis d'écrire votre objet de données sur votre NSInputStream. L'inconvénient est que votre dictionnaire ne doit contenir que des objets plist (numéros, chaînes, dates, données, tableaux et dictionnaires).

0

Oui.

Tout objet conforme à la norme NSCoding protocol est sérialisable et peut donc être écrit dans un flux. Bien sûr, les éléments d'un objet conteneur doivent également être conformes au protocole NSCoding.

Questions connexes