我需要将视图控制器的引用传递给它创建的对象之一。我有以下代码,我实例化我的对象
//Method in OwnerClass
- (void) someMethod{
SomeObject *obj = [[SomeObject alloc] init];
obj.instanceVar = self.iVar;
}
现在在SomeObject中我想访问创建它的所有者(OwnerClass的实例)。
//Method in SomeObject
- (void) callback{
[ownerObj callMethod] //ownerObj is the instance of OwnerClass that created an instance of SomeObj
}
我想知道如何访问SomeObject实例中的OwnerClass实例。当然,我可以简单地在SomeObject中写一个属性,如
@property(nonatomic) OwnerClass *ownerReference;
并在我初始化SomeObject并从那里访问它时分配它。
如果有任何标准方式获得所有者,我想要的是什么。类似于
的东西self.parentViewController
这是Apple获取特定视图控制器父级的标准方法。
答案 0 :(得分:0)
对于Objective C或iOS SDK中的对象,没有一般的,正式的“所有权”概念。所以不,没有标准的“神奇”方式来做你想做的事。
答案 1 :(得分:-1)
将引用从视图传递到另一个视图是错误的.. 如果你想在另一个控制器中调用方法,你可以使用协议和委托