我正在使用CoreData與該實體的一個實體和兩個屬性。
實體:粘合劑
屬性:名稱,lastOpened
,BR> 我能夠插入實體的一個新的對象沒有問題,而且我還可以設置它的名字,但我不能設置它的lastOpened屬性。
這裏是我的代碼:
CoreData - insertNewObjectForEntityForName不能設置屬性
Binder *newBinder = [NSEntityDescription insertNewObjectForEntityForName:@"Binder" inManagedObjectContext:context];
[newBinder setName:@"Binder"];
[newBinder setLastOpened:[NSDate date]]; //Tried this first
newBinder.lastOpened = [NSDate date]; //No compiler warning either
然而,當我運行應用程序,我得到的-[Binder setLastOpened:]: unrecognized selector sent to instance 0x9688870
一個錯誤,我可以確認所顯示的內存地址實際上是正確的Binder對象。任何想法,爲什麼我可以設置一個屬性,但不是另一個?謝謝。
Binder.h:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class Cards;
@interface Binder : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSDate * lastOpened;
@property (nonatomic, retain) NSSet *cards;
@end
@interface Binder (CoreDataGeneratedAccessors)
- (void)addCardsObject:(Cards *)value;
- (void)removeCardsObject:(Cards *)value;
- (void)addCards:(NSSet *)values;
- (void)removeCards:(NSSet *)values;
@end
Binder.m:
#import "Binder.h"
#import "Cards.h"
@implementation Binder
@dynamic name;
@dynamic lastOpened;
@dynamic cards;
@end
似乎你的模型沒有'lastOpened'這樣的屬性。打印您的管理對象模型並檢查。 –