gpt4 book ai didi

objective-c - 如何在单击按钮时以编程方式将 NSTextFields 中的值添加到核心数据中?

转载 作者:行者123 更新时间:2023-12-03 17:38:09 24 4
gpt4 key购买 nike

我有一个名为 People 的简单实体,有 2 个属性:name(字符串)和birthDate(日期)。

这是我的 AppDelegate.h 文件(只是我创建的方法,我省略了样板代码):

#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate>

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

@property (weak) IBOutlet NSTextField *nameTextField;
@property (weak) IBOutlet NSTextField *birthDateTextField;
- (IBAction)saveButtonHasBeenClicked:(id)sender;

@end

这是 AppDelegate.m 文件

- (IBAction)saveButtonHasBeenClicked:(id)sender {
//NSLog(@"Name value is: %@", _nameTextField.stringValue);
//NSLog(@"Birth Date value is: %@", _birthDateTextField.stringValue);
NSError *error = nil;
if (![[self managedObjectContext] save:&error]) {

NSEntityDescription *entity = [NSEntityDescription entityForName:@"People" inManagedObjectContext:_managedObjectContext];
}
}

谁能告诉我当单击按钮时应该如何保存用户输入的值?

最佳答案

过程如下,在核心数据中获取或创建对象,然后调用保存。假设您正在创建新用户,它将是:

// Create new person
Person *person = NSEntityDescription insertNewObjectForEntityForName:"Person"
inManagedObjectContext:_context];
// Apply attributes
person.name = nameField.text;

// Save new record
NSError *error = nil;
if (![[self managedObjectContext] save:&error]) {
}

如果您已将人员作为记录,则可以获取该人而不是创建新记录。

看看一些关于 CoreData 的教程:这个非常好 https://www.objc.io/issues/4-core-data/full-core-data-application/

关于objective-c - 如何在单击按钮时以编程方式将 NSTextFields 中的值添加到核心数据中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34779890/

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