2011-07-08 38 views
1

我有一個實體'USer'和一個屬性'name'。我想一個名字添加到使用此代碼,在FirstViewController.m文件中使用的實體「用戶」:ios如何在Core Data中的實體中添加事件?

- (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:]:無法識別的選擇器發送到實例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:方法的對象。

+0

我有一個UIView類'FirstViewController',其中我使用了圓形矩形按鈕,並且此按鈕連接到'addUser'方法。 –

+0

我將應用程序委託文件添加到問題中。首先是通過連接mainview.xib中的登錄控制器創建的插座 –

相關問題