gpt4 book ai didi

ios - 核心数据和 NSManagedObject

转载 作者:行者123 更新时间:2023-11-28 22:24:20 26 4
gpt4 key购买 nike

我有下一个问题:

我添加了Model.xcdatamodeld

其中我有 1 个实体 - 具有 3 个属性的设备:名称、版本、公司;

在我的 DetailController 中,我添加了这个:

- (NSManagedObjectContext *)managedObjectContext {
NSManagedObjectContext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedObjectContext)]) {
context = [delegate managedObjectContext];
}
return context;
}

然后在按钮上单击我要保存数据:

- (IBAction)save:(id)sender {
NSManagedObjectContext *context = [self managedObjectContext];

//Create a new managed object
NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device" inManagedObjectContext:context];
/*


[newDevice setValue:self.nameTextField.text forKey:@"name"];
[newDevice setValue:self.versionTextField.text forKey:@"version"];
[newDevice setValue:self.companyTextField.text forKey:@"company"];

NSError *error = nil;
// Save the object to persistent store
if (![context save:&error]) {
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}

[self dismissViewControllerAnimated:YES completion:nil];
*/
}

它会在 NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device"inManagedObjectContext:context];

上抛出错误

我做错了什么?也许如果我手动添加 DataModel,我应该将它连接到某个地方?

第二个问题是理论上的:

我阅读了有关在 XCODE 中进行开发的教程,并且我目前阅读了有关 CoreData 的内容,它说:

引用:“从持久存储(即 SQLite 数据库)中获取设备信息并将数据填充到 TableView Controller 中”

这是否意味着核心数据是 SQLite 数据库?

错误:

未知类型名称NSManagedObject;你是说 NSManagedObjectModel 吗?

编辑我的代码:

添加了CoreData.framework

将此添加到 AppDelegate.h

@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;

将此添加到 AppDelegate.m

@synthesize managedObjectContext = _managedObjectContext;
@synthesize managedObjectModel = _managedObjectModel;
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;

还是错误...

最佳答案

我不知道我的回答是否仍然有用,但出现此错误是因为您没有导入 CoreData.framework 也在您要使用的类中导入 CoreData。

在你的类(.h)中导入“CoreData/CoreData.h”

关于ios - 核心数据和 NSManagedObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19421098/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com