我有一个文本字段来显示当前日期。
- (void)viewDidLoad
{
[super viewDidLoad];
todayDate = [NSDate date];
NSString *stringDate = [NSString stringWithFormat:@"%@",todayDate];
todoItemDueDateText.text = stringDate;
// Do any additional setup after loading the view.
}
然后有一个保存按钮,用于将所有数据存储到核心数据实体中:
- (IBAction)save:(UIBarButtonItem *)sender {
//converting string to date
NSString *dateStr = todoItemDueDateText.text;
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy HH:mm:ss Z"];
NSDate *date = [dateFormat dateFromString:dateStr];
addToDoItem.todoName = _todoItemText.text;
addToDoItem.todoDescription = _todoDescriptionText.text;
addToDoItem.todoDueDate = date;
[super saveAndDismiss];
}
核心数据对象已保存并存储,但todoDueDate属性仍为空白,不会引发错误或异常,但保存后todoDate属性为nil。其他属性是完美存储的。这个行为的任何想法?
显示的日期来自2014-01-14 17:25:22 +0000
答案 0 :(得分:3)
您的日期格式与您尝试解析的字符串不匹配。比较“yyyy HH:mm:ss Z”和“2014-01-14 17:25:22 +0000”。
您的格式必须类似
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];