1 つのエンティティとそのエンティティの 2 つの属性で CoreData を使用しています。
エンティティ: Binder
属性: Name, lastOpened
,br>エンティティの新しいオブジェクトを問題なく挿入でき、名前も設定できますが、lastOpened 属性を設定できません。
これが私のコードです:
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