无法获取 managedObjectContext 对象
not able to get managedObjectContext object
我是 CoreData 的新手。我正在使用 sprite kit 来创建游戏。我在 appdelegate.h 和 appdelegate.m 中将核心数据设置到我的项目中。我可以使用以下代码在 appdelegate 中获取数据
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Current" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSError *error;
NSLog(@"%@",[self.managedObjectContext executeFetchRequest:fetchRequest error:&error]);
我想在另一个 class(视图)中获取数据。我无法获得 managedObjectContext 对象,因为我无法调用 self.managedObjectContext。
我应该怎么做才能从另一个 class 获取核心数据?
您必须有一些 class 与 NSManagedObjectContext,例如'DBManger'
@interface DBManager : NSObject
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
@end
在你的 ViewController 中使用:
DBManager *dbManager = [[DBManager alloc] init];
NSManagedObjectContext *context = dbManager.managedObjectContext;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Current" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSError *error;
NSLog(@"%@",[self.managedObjectContext executeFetchRequest:fetchRequest error:&error]);
如果您的 ManagedContext 在 AppDelegate 中,获取它:
NSManagedObjectContext *context = ((AppDelegate*)[UIApplication sharedApplication].delegate).managedObjectContext;
我是 CoreData 的新手。我正在使用 sprite kit 来创建游戏。我在 appdelegate.h 和 appdelegate.m 中将核心数据设置到我的项目中。我可以使用以下代码在 appdelegate 中获取数据
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Current" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSError *error;
NSLog(@"%@",[self.managedObjectContext executeFetchRequest:fetchRequest error:&error]);
我想在另一个 class(视图)中获取数据。我无法获得 managedObjectContext 对象,因为我无法调用 self.managedObjectContext。 我应该怎么做才能从另一个 class 获取核心数据?
您必须有一些 class 与 NSManagedObjectContext,例如'DBManger'
@interface DBManager : NSObject
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
@end
在你的 ViewController 中使用:
DBManager *dbManager = [[DBManager alloc] init];
NSManagedObjectContext *context = dbManager.managedObjectContext;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Current" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSError *error;
NSLog(@"%@",[self.managedObjectContext executeFetchRequest:fetchRequest error:&error]);
如果您的 ManagedContext 在 AppDelegate 中,获取它:
NSManagedObjectContext *context = ((AppDelegate*)[UIApplication sharedApplication].delegate).managedObjectContext;