2015-01-09 3 views
0

IOS новыйb здесь есть проблема с отладкой.IOS/xcode debug crash обработка json подача

Am пытается обработать фид JSON, но ниже код разбивается на

- (void)viewDidLoad { 
     [super viewDidLoad]; 
     shnote = @"shnote”; 
     lnote = @"lnote”; 


     myObject = [[NSMutableArray alloc] init]; 

     [email protected]"Challenges"; 
     NSData *jsonSource = [NSData dataWithContentsOfURL: 
     [NSURL URLWithString:@"http://www.~~/webservice.php"]]; 

      id jsonObjects = [NSJSONSerialization JSONObjectWithData: 
     jsonSource options:NSJSONReadingMutableContainers error:nil]; 

     for (NSDictionary *dataDict in jsonObjects) { 
//BREAKS HERE 
     NSString *shnote_data = [dataDict objectForKey:@"shnote”]; 
//ABOVE LINE HIGHLIGHTED IN GREEN AT BREAKPOINT 
     NSString *lnote_data = [dataDict objectForKey:@"lnote”]; 


     dictionary = [NSDictionary dictionaryWithObjectsAndKeys: 
     shnote_data, shnote,lnote_data, lnote,nil]; 
     [myObject addObject:dictionary]; 
     } 
    /* 
     */ 
    } 

линия выделена в консоли

dataDict = (NSDictionary *const)@"notes" 

отмечает это имя таблицы, но кроме того, что я невежественный.

Поблагодарили бы за любые предложения.

+0

Это что точка останова? Если это сбой, есть ли какой-либо журнал в консоли? –

ответ

1

Ваш источник данных имеет формат:

{ 
    "notes": [ 
     { 
      "row": { 
       "shnote": <...>, 
       "lnote": <...> 
      } 
     }, 
     { 
      "row": { 
       "shnote": <...>, 
       "lnote": <...> 
      } 
     }, 
     <...> 
    ] 
} 

Шаги для выборки каждого содержимого строки, следовательно, должно быть:

  1. Чтение значение notes свойство
  2. Итерация через каждый row
  3. Читать значение row
  4. Read shnote и lnote свойства

Вы пропускаете шаги 1, 2 и 3. В коде:

NSURL *url = [NSURL URLWithString:@"http://www.~~/webservice.php"]; 
NSData *jsonSource = [NSData dataWithContentsOfURL:url]; 

NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:jsonSource options:NSJSONReadingMutableContainers error:nil]; 
NSDictionary *notes = jsonObject[@"notes"]; 
for(NSDictionary *note in notes) { 
    NSDictionary *row = note[@"row"]; 
    NSString *shnote = row[@"shnote"]; 
    NSString *lnote = row[@"lnote"]; 

    NSLog(@"%@, %@", shnote, lnote); 
} 
Смежные вопросы