以下是我的保存方法
-(void)createData
{
// // get date and time and store in two separate variables
NSDate *today = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/yyyy"];
NSString *dateString = [dateFormat stringFromDate:today];
NSLog(@"Date is: %@",dateString);
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
timeFormatter.dateFormat = @"HH:mm";
NSString *timeString = [timeFormatter stringFromDate:today];
NSLog(@"Time is: %@",timeString);
//
//
ReminderInfo *reminderInfo = [NSEntityDescription insertNewObjectForEntityForName:@"ReminderInfo" inManagedObjectContext:[DataManager sharedDataManager].managedObjectContext];
reminderInfo.date = today;
reminderInfo.reminderTime = @"06:30";
reminderInfo.medicationType = @"Cream";
[[DataManager sharedDataManager] saveReminderInfo:reminderInfo];
NSLog(@"reminder created");
}
以下是控制台的输出:
<ReminderInfo: 0x6080002887a0> (entity: ReminderInfo; id: 0xd000000000480002 <x-coredata://8055FB8D-6E6A-44B2-9456-3E6932ACBE32/ReminderInfo/p18> ; data: {
date = "2017-06-03 08:03:40 +0000";
medicationType = Cream;
reminderTime = "06:30";
})
medicationType是String
类型的属性。正如您在控制台中看到的那样,""
中没有Cream
。这可能是我没有保存任何东西到coredata的原因吗?
答案 0 :(得分:0)
尝试并宣布&#34;奶油&#34;首先是一个字符串。
即NSString *medType = @"Cream";
然后在save方法中使用medType。
答案 1 :(得分:0)
缺少引号与数据类型无关。将Core Data对象打印到Xcode控制台时,如果字符串中没有空格,则不使用引号。您所看到的正是您所使用的字符串所期望的内容。如果您将字符串更改为@"Cream cheese"
,您将看到引号,但数据类型将相同。如果它不是一个字符串,Core Core Data将无法将值 - 一个数字类型 - 转换为Cream
。