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