Создать NSArray с содержимым строки (MySQL) - PullRequest
0 голосов
/ 30 ноября 2010

Я хочу создать ведьму NSArray, содержащую содержимое строки таблицы MySQL

Я использую скрипт php, чтобы получить данные

$response = $bdd->query('SELECT * FROM iPhoneTests');


while ($datas = $response->fetch())
{
?>
    <array>
    <integer><?php echo $datas['Temperature']; ?></integer>
    </array>


<?php
}

и протестировать использование этого кода в моемapp

    NSURL *getTemperature = [NSURL URLWithString:@"myURL..."];  
    NSError* error;
    temperature = [NSArray arrayWithContentsOfURL:getTemperature ];
    NSLog(@"%@",temperature);

Когда я тестирую в своем веб-браузере, я получаю все свои данные, но в своем приложении, с NSlog я получаю только первое значение.

Я об этой проблеме, так как нескольковремя, но я не могу добиться успеха Если кто-то увидит мою ошибку, пожалуйста, скажите мне

Ответы [ 2 ]

4 голосов
/ 30 ноября 2010

Вы создаете массив для каждой строки (что, кстати, недопустимо, потому что эти массивы тоже должны быть вложены в массив).1004 *

0 голосов
/ 30 ноября 2010

Мы можем общаться с сервером разными способами.И я бы посоветовал, чтобы коммуникационные данные были только в формате String, одним из способов является использование JSON, отсюда можно получить анализатор JSON https://github.com/schwa/TouchJSON, это объясняется следующим образом:

  1. Запуск связи

    [[[NSURLConnection alloc] initWithRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: urlStr]] делегат: self startImmediately: YES] autorelease];// urlStr - это NSString ref

  2. Начало приема данных

    • (недействительно) соединение: (NSURLConnection *) соединение didReceiveResponse: (NSURLResponse *) response {[receiveDataSetLength: 0];} // ReceiveData is NSMutableData ref
  3. Получить данные в виде кусков

    • (void) соединение: (NSURLConnection *) соединение didReceiveData: (NSData *) данные {[полученныйДанные appendData: данные];}
  4. После получения полных данных

    • (void) connectionDidFinishLoading: (NSURLConnection *) соединение {

      // json получение данных завершено (полученные данные - NSMutableData) if (receiveData == nil || [receiveData length] == 0) {// обработать ошибку при получении ответа, возможно, нет сети [self showAlertViewWithTitle: @ "No network" andMessage: @ "Не удалось открыть страницу, потому что интернет-соединение не найдено."andTag: 0];вернуть;}

      NSString * responseBody = [[[NSString alloc] initWithData: кодировка receiveData: NSUTF8StringEncoding] autorelease];//// NSLog (responseBody);NSError * jsonParsingError = [[[NSError alloc] init] autorelease];NSDictionary * jsonData = [NSDictionary dictionaryWithJSONData: [responseBody dataUsingEncoding: NSUTF8StringEncoding] error: & jsonParsingError];

      NSDictionary * serverError = [jsonData objectForKey: @ "error"] == [NSNull nullnil: [jsonData objectForKey: @ "error"];

      if (serverError == nil || [serverError count] == ​​0) {// ошибка не найдена, иначе NSDictionary * response = [jsonData objectForKey: @"response"] == [NSNull null]?nil: [jsonData objectForKey: @ "response"];NSArray * array = [ответ objectForKey: @ "массив"] == [NSNull null]? Nil: [ответ objectForKey: @ "массив"];// Я оставил код неполным, просто для понимания

  5. Проверка на нулевые значения Никогда не забывайте проверять нулевые значения из данных JSON следующим образом:

    NSString * dataValue = [[[array objectAtIndex: i] objectForKey: @ "key"] == [NSNull null]?@ "0": [[массив objectAtIndex: i] objectForKey: @ "ключ"] intValue];

Пожалуйста, дайте мне знать, если вам нужны дополнительные объяснения ..

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