0

CoreDataオブジェクトのデリゲートを自分が持っている特定のViewControllerに設定する際に問題が発生します。エラーが発生し、アクセサメソッドを合成していないと思われるようになりました。

2012-06-23 18:21:20.566 App[34164:12803] -[NSManagedObject setSyncDelegate:]:    unrecognized selector sent to instance 0x907cf30
2012-06-23 18:21:20.567 App[34164:12803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSManagedObject setSyncDelegate:]: unrecognized selector sent to instance 0x907cf30'

NSManagedObject、SavedPhotoには、次の.hがあります。

@interface SavedPhoto : NSManagedObject

@property (nonatomic, strong) NSString *fileName;
@property (nonatomic, strong) id<SyncPhotoDelegate> syncDelegate;

@end

そしてM:

@implementation SavedPhoto

@dynamic fileName;
@synthesize syncDelegate = _syncDelegate;

@end

そして、私は次のようにViewControllerでデリゲートを設定しようとしています。

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
SavedPhoto *savedPhoto = (SavedPhoto *)[NSEntityDescription insertNewObjectForEntityForName:@"SavedPhoto" inManagedObjectContext:context];
[savedPhoto setSyncDelegate:self];

ここで、「self」は、プロトコルSyncPhotoDelegateを実装するビューコントローラーです。NSManagedObjectに合成プロパティを含めることも可能ですか?

4

1 に答える 1

3

インスタンスは実際にはクラスの1つではないようです。モデルファイルをチェックして、正しく構成されていることを確認します。コンソール出力で、それが言っているのではなく、言っていることに注意し[NSManagedObject setSyncDelegate:]ください [SavedPhoto setSyncDelegate:]

于 2012-06-24T01:39:31.650 に答える