【发布时间】:2015-06-10 10:17:08
【问题描述】:
我有一个基于 CoreData 的应用程序。 在我的数据模型中,我只是通过添加到用户实体行“package_number_7”并使用 Lightwight 迁移(只需调整 appdelegate)来更改数据模型。现在,当我想在 fetch 请求中使用这个“package_number_7”时它不起作用。 这是来自 viewcontroller 的示例代码
- (BOOL)paidPackage:(int)package_id
{
int result = 0;
CoreDataStack *dataStack = [CoreDataStack defaultStack];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setFetchLimit:1];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"User" inManagedObjectContext:dataStack.managedObjectContext];
[fetchRequest setEntity:entity];
NSError *error;
NSArray *fetchedObjects = [dataStack.managedObjectContext executeFetchRequest:fetchRequest error:&error];
for (User *s in fetchedObjects) {
switch (package_id)
{
case 1:
result = [s.paid_package_1 boolValue]; // Balicek 1
break;
case 2:
result = [s.paid_package_2 boolValue]; // Balicek 2
break;
case 3:
result = [s.paid_package_3 boolValue]; // Balicek 3
break;
case 4:
result = [s.paid_package_4 boolValue]; // Balicek 4
break;
case 5:
result = [s.paid_package_5 boolValue]; // Balicek 5
break;
case 6:
result = [s.paid_package_6 boolValue]; // Balicek 6
break;
case 7:
result = [s.paid_package_7 boolValue]; // Balicek 7
break;
case 8:
//result = [s.paid_package_8 boolValue]; // Balicek 8
default:
break;
}
}
return result;
}
package_number_7 处的错误是 -> 在“用户 *”类型的对象上找不到属性“package_number_7”
我已经尝试过清理应用程序,并再次重建。
【问题讨论】:
-
请分享用户类.h/.m文件
-
天哪!非常感谢,我忘记上课了!谢谢!
标签: ios objective-c xcode core-data xcode6