2009-12-08 5 views
4

Это немного базовый; Я пытаюсь получить http-данные для iPhone-приложения.Какое правильное использование arrayWithContentsOfURL?

У меня есть www.myhost.com/test.html, который читает

<array><string>test</string><string>test2</string></array> 

Тогда я

NSURL *baseURL = [NSURLRLWithString:@"http://www.myhost.com/test.html"]; 
NSArray *array = [NSArray arrayWithContentsOfURL:baseURL]; 
NSLog(@"%@", [array description]); 

который держит возвращающегося (нуль). Что мне не хватает? Благодаря!

+0

Вы должны начать привычку читать документацию API для простых вопросов, как это. –

+11

Старайтесь не забывать, с чего вы начали. 13k + репутация или нет. Мой вопрос был полностью верен в рекомендациях по часто задаваемым вопросам. «Прочитайте документы» должен быть самым разбросанным ответом в Интернете. –

ответ

5

Это должно, вероятно, будет в полном формате Plist (с DOCTYPE и все, что)

The man page

простой способ создать правильный PLIST является с «Список свойств Editor.app»

на примечание стороны: NSLog(@"%@", [array description]); такая же, как NSLog(@"%@", array);

+0

Очень полезно, спасибо большое! –

5

arrayWithContentsOfURL documentation четко говорится, что

Представление массива на месте идентифицированного aURL должен содержать только список свойств объектов (NSString, NSData, NSArray или NSDictionary объектов).

То есть, объекты, которые вы получили бы, позвонив по методу writeToURL:atomically. Местоположение, написанное этим методом, может быть использовано для инициализации нового массива с помощью метода класса arrayWithContentsOfURL: или метода экземпляра initWithContentsOfURL:. Поэтому я предлагаю использовать эти стандартные методы для записи и чтения ваших массивов из URL-адреса, вместо того, чтобы писать свой собственный файл и пытаться его прочитать arrayWithContentsOfURL:.

0

Еще одно открытие, которое я сделал, заключается в том, что если вы пытаетесь создать список «на лету», чтобы обслуживаться через Интернет, а не из статического файла, созданного с помощью редактора plist, вы должны избегать строк. Если в документе у вас есть xml-ошибки в нем, ваш массив не будет загружаться. Например, я был в некоторых из моих строк в &, и по-прежнему получаю пустой массив, пока я не избежал строки и заменить & с &amp;

Смежные вопросы