行をタップするとアプリケーションがフリーズします。ここではdidSelectRowAtIndexPath
のコードです。stringDate
はFeb 4
のような文字列です。このエラーで行NSString *stringDate = [cellValue valueForKey:@"date"];
に、行をタップしたときにNSStringからNSStringをパースするときのエラー
EditView *editController = [[EditView alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:editController animated:YES];
NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]];
editController.savedString = [cellValue objectForKey:@"label"];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
NSString *stringDate = [cellValue valueForKey:@"date"];
NSDate *parsedDate = [df dateFromString:stringDate];
editController.savedDate = parsedDate;
[editController release];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
は、私はこのエラーを取得する:
* Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: date'
UPDATE:解析された日付は、日付&時間モードでUIDatePicker
に設定されており、文字列の日付を
私が作成したNSDate
に変換するだけです。cellValue
をNSDictionary
と呼びます。これは基本的にplist
にアクセスし、NSDictionary
を作成した後、NSString
という形式で書き込みます。そしてarray
ディスプレイplist
配列は、私はあなたの文字列が
を満たしフォーマットフォーマッタを教えるために必要[cellValue objectForKey:@"date"]
NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]];
、もしあなたが 'NSString * stringDate = [cellValue objectForKey:@" date "];' – vikingosegundo
btwを使うならば、cellValueとして返すオブジェクトを作成すると、NSDateを作成します。 – vikingosegundo
私は 'objectForKey'を使ってみましたが、うまくいきませんでしたが、今は' Feb 2'の代わりに '2012-02-04 16:36:50 + 0000'の出力を生成しました。それから 'valueForKey'と' objectForKey'を使用しましたが、それでも動作しません。 – Souljacker