Objective-c: Инициализировать NSMutableArray с NSString, который является структурой списка - PullRequest
1 голос
/ 28 июля 2011

Если у меня есть строка NSString, возвращенная из веб-службы в форме структуры plist, как я могу инициализировать NSMutableArray с помощью этой строки NSString.Я хочу знать, существует ли подобный способ initWithContentsOfFile для NSString.

Моей первой мыслью было сохранить NSString в файл и затем использовать initWithContentsOfFile;но я пытаюсь сначала избежать сохранения в файл.Кажется, должен быть более простой способ.

Ответы [ 4 ]

1 голос
/ 28 июля 2011

Не проверено, должно работать так:

NSData *data = [myString dataUsingEncoding:NSUTF8StringEncoding];
NSMuableArray *array = [NSPropertyListSerialization
     propertyListWithData:data
                  options:NSPropertyListMutableContainers
                   format:NSPropertyListXMLFormat_v1_0
                    error:NULL];
1 голос
/ 28 июля 2011

См. Руководство по программированию списка свойств " Чтение и запись данных списка свойств ". В нем рассказывается, как превратить NSData в список свойств. Если у вас уже есть NSData из сети, просто не конвертируйте его в NSString. Если у вас есть только NSString, используйте dataUsingEncoding:, чтобы преобразовать его в NSData.

1 голос
/ 28 июля 2011

Проверьте документацию для методов -propertyList и -mutableCopy.

0 голосов
/ 28 июля 2011

Вы можете использовать NSXMLParser , чтобы проанализировать XML (что такое plist) и превратить его в словарь (и получить массив оттуда)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...