在目标C中,我像这样实现了Core DatamanagedObjectContext:
//MyViewController1.h
@interface MyViewController1 : UIViewController
{
NSManagedObjectContext *_managedObjectContext;
}
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
//MyViewController.m
@implementation MyViewController1
@synthesize managedObjectContext = _managedObjectContext;
- (NSManagedObjectContext *) managedObjectContext
{
...
}
(是的,我知道我的代码已经过时,这是一个旧项目)。
我想将此managedObjectContext
作为参数传递给另一个UIViewController
,以便它可以保留在managedObjectContext
上。我将如何申报财产?目前,在MyViewController2
中,我声明了与在MyViewController1
中相同的方法:
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
但是当我在self.managedObjectContext = managedObjectContextParameter
的构造函数中执行MyViewController2.m
时,编译器不会让我分配,因为它是只读的。
做到这一点的最佳方法是什么?我应该只做只读操作还是做些弱引用吗?我迷失了这些东西。