OGeek|极客世界-中国程序员成长平台

标题: objective-c - 从 NSString 解析 NSDate 时出错 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:21
标题: objective-c - 从 NSString 解析 NSDate 时出错

当我点击一行时,我的应用程序卡住,这是 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 然后写它带有一个格式化的 NSStringarray 显示 plist 数组,因此我可以使用 [cellValue objectForKey"date"]

访问它
NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]];



Best Answer-推荐答案


你需要教格式化程序你的字符串满足的格式

应该是这样的:

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

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






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4