如何将委托设置为另一个控制器

时间:2012-09-26 14:28:41

标签: iphone objective-c ios

我有一个视图控制器(AViewController),我有桌子 在该控制器中,我添加了另一个视图控制器视图作为子视图(BViewController):

BViewController *barCodeScanner = [[BViewController alloc]init];
[self.view addSubview:barCodeScanner.view];

BViewController有一个委托和一个委托方法,它有效 但是我想在AViewController上刷新表格 所以我将委托移到AViewController并尝试更改代理代码:

rdr.readerDelegate = self;

rdr.readerDelegate = AViewController;

但它不起作用。为什么呢?

3 个答案:

答案 0 :(得分:4)

您需要为AViewController创建一个实例并将其设置为rdr的委托:

rdr.readerDelegate = aViewControllerInstance;

答案 1 :(得分:3)

AViewController是类型(类),而不是类型的实例。 Delegate接受类的实例,而不是类名。

答案 2 :(得分:1)

嗨,这可能会让你清楚问题。

AViewController *aView = [[AViewController alloc]init];

rdr.readerDelegate = aView ;

您需要将AViewController的对象设置为委托。