2013-11-13 6 views
2

Я пытаюсь сохранить данные с сервера в массив NSMutable, чтобы отображать их как новостные ленты в виде таблицы, как показано в этом image. В принципе, как ленты новостей Twitter. Я хочу сделать, чтобы получить данные с сервера в массиве NSMutable и использовать этот массив для отображения в моем представлении таблицы. Я не знаю, правильно ли это сделать. Я попытался добавить статически, и он работает, но я действительно не знаю, как это сделать динамически, так как я новичок в Objective C. Извините, если этот вопрос кажется действительно глупым. Заранее спасибо!Как хранить данные в NSmutable массиве с сервера

+0

данные из сервера приходят в формате JSON или XML? –

+0

данные с сервера поступают в JSON – nravichan

ответ

2

Разбор данных с помощью JSON:

dispatch_queue_t jsonParsingQueue = dispatch_queue_create("jsonParsingQueue", NULL); 

// execute a task on that queue asynchronously 
dispatch_async(jsonParsingQueue, ^{ 
    NSString *urlStr = @"YourURL"; 
    NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: url]; 
    [request setHTTPMethod: @"GET"]; 
    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
    NSString *responseStr = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; 
    NSData * jsonData = [responseStr dataUsingEncoding:NSUTF8StringEncoding]; 

    NSMutableArray *tempResults = [NSMutableArray alloc]; 
    NSError *jsonParsingError = nil; 
    NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&jsonParsingError]; 
    tempResults = jsonObject[@"posts"]; //Add the json key you would like to get 

    self.arrayToDisplay = [tempResults copy]; //copy them to your NSMutableArray 


    // some code on a main thread (delegates, notifications, UI updates...) 
    dispatch_async(dispatch_get_main_queue(), ^{ 

     [self.myTableView reloadData]; 


    }); 
}); 
+0

Спасибо за ваш быстрый ответ ..;) – nravichan

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