2011-12-05 6 views
0

で生成されます。 iは整数手動で置けば、それは作業を行いますが、私は価値フォームindexPath.rowを受信したとき、それは誤り //コンソールのエラーは、私は私の提案を与えてください時間のより多くのカップルを無駄にしているEXC_BAD_ACCESSは、このコードを検討してくださいdidSelectRowAtIndexPath

2011-12-05 18:16:30.312 test[3602:c203] -[__NSCFDictionary integerValue]: unrecognized selector sent to instance 0x719e400 
2011-12-05 18:16:30.314 test[3602:c203] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary integerValue]: unrecognized selector sent to instance 0x719e400' 

//で示していどのように私はこの問題を解決することができますか?あなたのcellForRowAtIndexPathで

+1

「認識されないセレクターが」右の問題であなたを指す:

だから、あなたのdidSelectRow方法は次のようになります。基本的には、 'rows'オブジェクトはあなたが思うものではありません。 (それを正しく保持しましたか?) –

答えて

2

NSDictionary *dict1 = [rows objectAtIndex:indexPath.row]; 

rowsは、辞書の配列です。 OK。あなたのdidSelectRowで

我々はに分解することができます
faqQuesID = [[rows objectAtIndex: indexPath.row] integerValue]; 

:NSDictionaryのはintegerValue方法はありません

NSDictionary *dict = [rows objectAtIndex:indexPath.row]; 
faQuesID = [dict integerValue]; 

- エラーメッセージがあなたを言っているまさにです。おそらく、辞書内の特定のオブジェクトから整数を取得したいと考えています。

キー @"faqQuesID"下に格納さ NSNumberを持っていると仮定すると
faqQuesID = [[[rows objectAtIndex: indexPath.row] objectForKey:@"faqQuesID"]integerValue]; 

NSDictionary *faq = [rows objectAtIndex: indexPath.row]; 
[prefs setInteger:[[faq objectForKey:@"faqQuesID"] integerValue] forKey:@"faqQuesID"];  
+0

私は彼がsetIntegerではなくsetObjectを使ってこの問題を回避できると思います。それは正常に動作するはずです、ちょうど出てくる正しいオブジェクトにキャストすることを確認してください。 –

+0

@BillBrasky - 彼は環境設定に辞書全体を格納していない限り、objectForKeyを使用する必要があります。 – jrturton

+0

[prefs setInteger:2 forKey:@ "faqQuesID"]; //このタイプの変換が必要です – ashish

関連する問題