2012-11-23 15 views
0

我設置對象到我的NSMutableDictionary這樣陣列不能從單個元件中的NSMutableDictionary形成 - [__ NSCFString計數]:

if ([detail isEqualToString:[check objectAtIndex:1]]) {//check is NSArray,getdict is NSMutableDictionary,keyverify is NSMutableArray 


     if ([getdict objectForKey:detail]==nil) { 

      [getdict setObject:[check objectAtIndex:2] forKey:detail]; 
      [keyverify addObject:[check objectAtIndex:2]]; 
     } 

     else{ 

      [keyverify addObject:[check objectAtIndex:2]]; 
      [getdict setObject:keyverify forKey:detail]; 

     } 

     } 
      NSArray * passarray=[getdict valueForKey:detail]; 

當我的NSMutableDictionary值是這樣

dict:{ 
"Sample" =  (
    "Test1", 
    Test2, 
    Test3 
); 
} 

我可以從NSMutableDictionary獲取數組並顯示在UITableView中,但是當我獲得像這樣的我的NSMutableDictionary值時

dict:{ 
"Sample" = Test1; 
} 

與日誌

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString count]: unrecognized selector sent to instance 0x6eab4c0' 

我的應用程序崩潰,請幫我pls..Thanks ..

+0

如果您向我們顯示出現錯誤的行,將會很有幫助。但基本上你會得到一個NSString,你可能正在期待一個NSArray。用JSON這次你得到的東西並不總是和你上次得到的東西一樣。 –

+1

提示:瞭解如何使用[isKindOfClass](http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#//apple_ref/occ/ INTF/NSObject的)。 –

回答

1

在你的第二個測試案例的關鍵「樣品」是不是數組,這就是爲什麼你得到這個錯誤。

你可以通過使用isKindOfClass:[NSArray類]檢查它,如果它通過條件,那麼它是一個數組,你可以做你想要的數組方法,如果它不是那麼獲得密鑰「Sample」作爲串。

相關問題