1

我有一个实体“用户”和一个属性“名称”。我正在尝试使用 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

这是应用程序委托文件。

4

1 回答 1

1

您遇到的问题不在显示的代码范围内。您可能会将 addUser: 消息发送到不同的对象(一个没有实现它的对象),或者实现该方法的对象已经被释放(并且它的内存被重新用于不同类型的对象)

您提到的按钮似乎将 UIViewController 设置为目标,并将 addUser: 选择器设置为操作。但是 UIViewController 没有 addUser: 方法你会得到一个异常。

确保将按钮的操作连接到真正实现 addUser: 方法的对象。

于 2011-07-08T09:13:14.747 回答