2014-02-19 3 views
0

У меня есть программа, которая извлекает данные из ссылки, и я записываю ее в журнал как это.Записывать содержимое NSURL в массив

NSURL *getURL=[NSURL URLWithString:@"link.php"]; 
NSError *error=nil; 
NSString *str=[NSString stringWithContentsofURL:getURL encoding:NSUTF8StringEncoding error:&error]; 
NSLog(@"%",str); 

Это печатает в журнале три значения из моего php, как ожидалось.

Однако мне трудно сэкономить это в массиве, который затем отображает его в значениях UISplitviewController (сторона левого контроллера).

который записывается как этот

showArray=[[NSMutableArray alloc]initWithContentofURL:getURL]; 

тогда в cellForRowAtIndexPath: метода является

cell.textLabel.text=[showArray object atIndex:indexPath.row]; 

Вторая вещь, которую я попробовал это написать myURL в массив и попытался initlize showArray с ContentsofArray как это

NSArray *retults=[NSArray arraywithContentsOFURL:getURL]; 
showArray=[[NSArray alloc]initWithArray:retults]; 

, но ЭТО НЕ РАБОТАЕТ НО, если я говорю

showArray=[[NSMutableArray alloc]initWithObjects:@"One",@"Two",nil]; 

один и два концерта в моем контроллере leftview .... Любил бы кто-то может помочь мне с этим ... Спасибо

+1

данных вы получаете в каком формате json/xml или просто запятую строку с привязкой –

+0

можете распечатать данные ур получая – Chandru

+0

@Chandr u [{«animal»: «Monkey»}, {«animal»: «Snake»}, {«animal»: «Cow»}] –

ответ

0

U сделали веб-сервисы отлично, теперь Ват нужно сделать, это разобрать его на массив
Сначала загрузите файлы SBJSON в этой ссылке

https://github.com/stig/json-framework/ 

Затем скопируйте их в рабочую область. потом, в ViewController добавляет этот

#import "SBJson.h" 

Ваших данные JSON содержит значение в виде словаря

С.О., чтобы проанализировать их

SBJsonParser * parser=[SBJsonParser new]; 
NSDictionary * jsonData=(NSDictionary *)[parser objectWithString:outputData]; 
NSArray * arr=(NSArray *)[NSDictionary objectForKey:@"animal"]; 

Я думаю, что это поможет

+0

, где у вас есть outputData, я использовал str, так как я написал json-данные тоже var. –

+0

[{"animal": "Monkey"}, {"animal": "Snake"}, {"animal": "Cow"}], если он сохранен – Chandru

+0

Я думаю, что im missing files, symbol (s) not found для архитектуры i386, я перетащил everythig из папки класса в мой проект и сделал импорт –

1

Вы пытаетесь добавить содержимое URL-адреса или самого URL-адреса?

Если вы пытаетесь просто добавить URL, а затем использовать:

showArray = [@[getURL] mutableCopy]; 

Однако, если вы пытаетесь добавить содержимое URL, то the doc clearly states, что URL должен представлять собой строковое представление массив.

Далее:

Возвращает NIL, если местоположение не может быть открыт, или, если содержимое местоположения не может быть разобрано в массив.

EDIT:

Я видел ваш комментарий на свой пост и ваши данные выглядит как данные JSON. Вы должны взглянуть на класс NSJSONSerialisation, который довольно прост в использовании (здесь вы найдете много примеров здесь, на SO).

+0

Док говорит, что объекты строки и массива приняты, мои данные возвращаются как массив. поэтому не должен ли мой массив быть впитан с содержимым указанного URL-адреса? –

+0

Да, должно. Однако он обычно используется в сочетании с методом writeToURL: atomically:. Таким образом, ваш массив, указанный URL-адресом, наверняка не распознается «initWithContentsOfURL:». – McNight

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