2012-02-04 11 views
2

行をタップするとアプリケーションがフリーズします。ここではdidSelectRowAtIndexPathのコードです。stringDateFeb 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に変換するだけです。cellValueNSDictionaryと呼びます。これは基本的にplistにアクセスし、NSDictionaryを作成した後、NSStringという形式で書き込みます。そしてarrayディスプレイplist配列は、私はあなたの文字列が

を満たしフォーマットフォーマッタを教えるために必要[cellValue objectForKey:@"date"]

NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]]; 
+0

、もしあなたが 'NSString * stringDate = [cellValue objectForKey:@" date "];' – vikingosegundo

+0

btwを使うならば、cellValueとして返すオブジェクトを作成すると、NSDateを作成します。 – vikingosegundo

+0

私は 'objectForKey'を使ってみましたが、うまくいきませんでしたが、今は' Feb 2'の代わりに '2012-02-04 16:36:50 + 0000'の出力を生成しました。それから 'valueForKey'と' objectForKey'を使用しましたが、それでも動作しません。 – Souljacker

答えて

3

使用してアクセスすることができます何かのようにそれは次のようになります。何が起こる

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"MMM d"]; 
+0

私はそれを試みました、それはまだ動作しません。 – Souljacker

+0

http://stackoverflow.com/questions/572132/nsdate-and-nsdateformatter-issues – vikingosegundo

関連する問題