2012-01-11 46 views
1

我有一本字典比如在PageOneView.h聲明:JSON序列化後的NSDictionary方法allKeys崩潰iOS中

@interface PageOneView : UIViewController <UITableViewDataSource, 
              UITableViewDelegate, 
              UITextFieldDelegate> 
{ 
    NSDictionary *orderDetailsDictionary ; 
} 
@property (nonatomic, retain)NSDictionary *orderDetailsDictionary; 

我合成它在PageOneView.m

@implementation PageOneView 

@synthesize orderDetailsDictionary; 

我與JSONSerialization返回的對象初始化類。 (orderDetailsJSON是一個JSON字符串我已經從Web服務讀)這條線是從蘋果的示例代碼借用:

orderDetailsDictionary = [NSJSONSerialization JSONObjectWithData: 
[orderDetailsJSON dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil]; 

下一個我試圖讓第一關鍵。

NSString *valString = [NSString stringWithFormat: 
      @"%@\n", [[orderDetailsDictionary allKeys] objectAtIndex:0]]; 

allKeys這裏與Program received signal: EXC_BAD_ACCESS碰撞。輸出屏幕顯示:

-[__NSCFArray allKeys]: unrecognized selector sent to instance 0x6a211d0 
+0

您從您的JSON解析器得到一個數組沒有字典。 NSArray不響應allKeys。 – Rog 2012-01-11 10:09:53

回答

3

顯然,orderDetailsDictionary不是NSDictionary,但NSArray。你應該檢查來自服務器的數據。

0

試試這個:

orderDetailsDictionary = (NSDictionary *)[yourArray objectAtIndex:0]; 

NSString *valString = [NSString stringWithFormat: @"%@\n", [orderDetailsDictionary objectForKey:0]]; 
相關問題