ios如何在Core Data的实体中添加事件?
Posted
技术标签:
【中文标题】ios如何在Core Data的实体中添加事件?【英文标题】:ios how to add event in entity in Core Data? 【发布时间】:2011-07-08 09:07:33 【问题描述】:我有一个实体“用户”和一个属性“名称”。我正在尝试使用 FirstViewController.m 文件中使用的代码为实体“用户”添加一个名称:
- (IBAction)addUser:(id)sender
User *user = (User *)[NSEntityDescription insertNewObjectForEntityForName:@"User" inManagedObjectContext:managedObjectContext];
[user setName:@"Bhagwan"];
NSError *error = nil;
if (![managedObjectContext save:&error])
// Handle the error.
但它显示错误消息:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIViewController addUser:]: unrecognized selector sent to instance 0x4d38950”
如何解决这个问题? 请帮忙!!
编辑:
#import <UIKit/UIKit.h>
#import "FirstViewController.h"
#import <CoreData/CoreData.h>
@interface CoreDataTry2AppDelegate : NSObject <UIApplicationDelegate>
UIViewController *_first; @property (nonatomic, retain) IBOutlet UIViewController *first;
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain, readonly) NSManagedObjectContext
*managedObjectContext; @property (nonatomic, retain, readonly) NSManagedObjectModel
*managedObjectModel; @property (nonatomic, retain, readonly) NSPersistentStoreCoordinator
*persistentStoreCoordinator;
- (void)saveContext;
- (NSURL *)applicationDocumentsDirectory;
@end
这是应用委托文件。
【问题讨论】:
【参考方案1】:您遇到的问题不在显示的代码范围内。您可能会将 addUser: 消息发送到不同的对象(没有实现它的对象),或者实现该方法的对象已经被释放(并且它的内存被重新用于不同类型的对象)
您提到的按钮似乎将 UIViewController 设置为目标,并将 addUser: 选择器设置为操作。但是 UIViewController 没有 addUser: 方法你会得到一个异常。
确保将按钮的操作连接到真正实现 addUser: 方法的对象。
【讨论】:
我有一个 UIView 类“FirstViewController”,我在其中使用了一个圆形矩形按钮,这个按钮连接到“addUser”方法。 我将应用委托文件添加到问题中。首先是通过连接 mainview.xib 中的登录控制器创建的插座以上是关于ios如何在Core Data的实体中添加事件?的主要内容,如果未能解决你的问题,请参考以下文章
IOS/objective-c/core-data:如何从相关实体获取属性
iOS Core Data:使用 Foundation 对象添加属性