objective-c - 从 NSString 解析 NSDate 时出错

标签 objective-c ios cocoa-touch nsdateformatter

当我点击一行时,我的应用程序卡住,这是 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]];

最佳答案

您需要告诉格式化程序您的字符串满足的格式

应该是这样的:

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

关于objective-c - 从 NSString 解析 NSDate 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9142421/

相关文章:

ios - UITableView 页脚未正确定位

iphone - 如何安全地内存管理要从 UI 中删除的按钮?

iphone - 涉及NSString的内存泄漏

iphone - 如何从带有占位符的 NIB 加载 UIViewController?

ios - 在 Objective C 中切换 View

ios - 更改UIToolbar UIBarMetrics

objective-c - NSDecimalNumber 的 NSDecimalNumber 次方

iOS自定义带有动态内容的UIButton

iphone - Google Analytics 独特购买突然停止工作

objective-c - 是否可以在 Objective-C 扩展中定义 ivars?