当我点击一行时,我的应用程序卡住,这是 didSelectRowAtIndexPath 的代码,stringDate 等于这样的字符串:Feb 4 .
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];
点击行时出现此错误,在 NSString *stringDate = [cellValue valueForKey"date"]; 行上出现此错误:
* Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: date'
更新:解析的日期设置为具有日期和时间模式的 UIDatePicker ,我只是将字符串日期转换为 NSDate 与 [timePicker setDate:savedDate animated:YES]; 一起使用
我创建 cellValue 作为一个 NSDictionary 基本上访问一个 plist 我在其中创建了一个 NSDictionary 然后写它带有一个格式化的 NSString 。 array 显示 plist 数组,因此我可以使用 [cellValue objectForKey"date"] 访问它
NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]];
Best Answer-推荐答案 strong>
你需要教格式化程序你的字符串满足的格式
应该是这样的:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat"MMM d"];
关于objective-c - 从 NSString 解析 NSDate 时出错,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/9142421/
|