私はすべてのViewControllerがローカルNSManagedObjectContextあり、基本的に自分のアプリケーション内の場所で午前:iOS Obj-C。正しい解決策を提示していますか?
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
を、すべてのセグエは、Javaから来る同じセッター
[segue.destinationViewController setManagedObjectContext:self.managedObjectContext];
経由managedObjectContextを渡し、それは次のようになります各ViewControllerが実装する抽象クラスを簡単に作成できます。 Objective-Cでは、それは可能ではないようです。私は何を探していますと、この受け渡しを行い、基本クラスを持っていますが、基本的には(単なるのUIViewControllerなどのUITableViewControllerを含む)のUIViewControllerがこれを持つことになります実装し何でもあります。それは、これを行うUIViewControllerとしてポーズする「抽象的な」クラスを作成することが可能であるか正しいでしょうか?
更新:
のUIViewController + ManagedObjectContext.h
@interface UIViewController (ManagedObjectContext)
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@end
のUIViewController + ManagedObjectContext.m
#import "UIViewController+ManagedObjectContext.h"
@implementation UIViewController (ManagedObjectContext){
NSManagedObjectContext *context; // This is not valid, cant have local variables
}
@synthesize managedObjectContext; // This is not valid, must be @dynamic
-(void)setManagedObjectContext:(NSManagedObjectContext *)context{
//How do you have a local NSManagedObjectContext?
}
@end
私は客観的なcカテゴリーを探しているかもしれないと思います。それらはクラスを拡張するために使用されます。 – Kyle
Objective-C 1.0でポーズを取るクラスは***混乱した***なので、2.0では削除されています。私はそれがiOS NSObjectクラスの一部ではなかったと思います。 – CodaFi
私はiOSの中にクラスのポーズを見たことがないが、私は、ナビゲーションコントローラにUINavigationBarを置き換えるために似た何かを見てきました。 – Kyle