首页 > 解决方案 > 将只读属性传递给另一个类

问题描述

在Objective C中,我有像这样实现的核心数据managedObjectContext:

//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,编译器不会让我分配,因为它是只读的。

做这个的最好方式是什么?我应该在没有只读的情况下这样做还是有某种弱引用?我迷失在这些事情上。

标签: iosobjective-cuiviewcontroller

解决方案


推荐阅读