同じUITableViewCell
の2つの入力値をテキストフィールド1とテキストフィールド2 [スコア1、スコア2]のように取り、これらの値を辞書に追加してこれらの辞書を追加する必要がありますデータはNSMutableArray
に転送されます。目的のCのUITableViewCellから2つの入力値を取る方法
私はスコア1上にデータを置くが、データは私が必要とスコア2 に来た応答
{
question = a5k0k0000004kxsAAA;
score2 = 5;
}
を得た。..テキストフィールドのデリゲートメソッドを使用してコードの下に
- (void)textFieldDidEndEditing:(UITextField *)textField{
UITableViewCell *cell = (UITableViewCell*) textField.superview.superview;
NSIndexPath *txtIndPath = [tblMonthlyPerformanceReport indexPathForCell:cell];
MonthlyPerformanceQuestions * question;
if (txtIndPath.section==0)
{
question = [[HSEAppData appData].arrayMonthlyGeneralQustion objectAtIndex:txtIndPath.row];
}
if (txtIndPath.section==1)
{
question = [[HSEAppData appData].arrayMonthlyLeadQustion objectAtIndex:txtIndPath.row];
} if (txtIndPath.section==2)
{
question = [[HSEAppData appData].arrayMonthlyLagQustion objectAtIndex:txtIndPath.row];
}
NSLog(@"%@ , %@",question.QuestionId, question.Question);
NSMutableDictionary *userDictionary=[[NSMutableDictionary alloc]init];
[userDictionary setObject:question.QuestionId forKey:@"question"];
if (textField.tag==10001)
{
[userDictionary setObject:textField.text forKey:@"score1"];
}
if (textField.tag==10002)
{
[userDictionary setObject:textField.text forKey:@"score2"];
}
[scoreMutableArray addObject:userDictionary];
これを試してみましたこのような辞書データ
{
"question": "a5k0k0000004kxnAAA",
"score1": "20",
"score2": "20"
}
助けてください
'textFieldDidEndEditing'を使用する代わりに、既存のテキストに置換文字列を追加した後で' shouldChangeCharacters'を使用する必要があります。時々、ユーザが何らかのアクションを押してキーボードを外すことなく直接次の画面に行くと、バグが表示されることがあります。 文字列の値が誤って入力されたり変更されたりする場合があるため、辞書キー(直接操作)を直接変更するのではなく、モデルを使用して、パーサーを書き込んで「NSDictionary」から直接変換します。 – Rikh