2012-04-10 138 views
0

我的應用程序崩潰時,'出現在我解析的JSON代碼的標題中。應用程序崩潰'

此行裝載標題的:

[[cell textLabel] setText:[item objectForKey:@"title"]]; 

JSON:

NSString *jsonString = [NSString 
          stringWithContentsOfURL:[NSURL URLWithString:@"**test.php"] 
          encoding:NSStringEncodingConversionAllowLossy 
          error:nil]; 
    // Create parser 
    SBJSON *parser = [[SBJSON alloc] init]; 
    NSDictionary *results = [parser objectWithString:jsonString error:nil]; 
    parser = nil; 
    // Set tableData 
    [self setTableData:[results objectForKey:@"items"]]; 

崩潰:

tableData NSArray * 0x00000001 

2012-04-10 10:29:11.446 * [21222:F803] - [NSNull isEqualToString:]: 無法識別的選擇發送到實例0x146ace8 2012-04-10 10:29:11.447 * [21222:F803] *終止應用程序由於未捕獲 異常「NSInvalidArgumentException 」,原因: ' - [NSNull isEqualToString:]:無法識別的選擇發送到實例0x146ace8' *第一擲調用堆棧:(0x13d4022 0x1565cd6 0x13d5cbd 0x133aed0 0x133acb2 0x15e0ff 0x2b10 0xb8c54 0xb93ce 0xa4cbd 0xb36f1 0x5cd21 0x13d5e42 0x1d8c679 0x1d96579 0x1d1b4f7 0x1d1d3f6 0x1db81ce 0x1db8003 0x13a8936 0x13a83d7 0x130b790 0x130ad84 0x130ac9b 0x12bd7d8 0x12bd88a 0x1e626 0x1ded 0x1d55)終止調用throwing a ñ異常(LLDB)

回答

2

是崩潰信息的關鍵部分是:unrecognized selector sent to instance ... [NSNull isEqualToString:]

它看起來像你的JSON包含null的地方,你期待一個字符串。後來,可能是裏面的setTableData:你會做這樣的事情:

NSString* whatever = [items objectForKey:@"whatever"]; 
if([whatever isEqualToString:@"hello"]){ 
    ... 
} 

這會崩潰,因爲whatever變量包含NSNull,而不是像NSString您所期望。

+0

O哈哈對不起! '{「title」:null,「description」:「」}'需要再次搜索我的眼鏡!謝謝哈哈! – Jones 2012-04-10 08:46:31