我有一个视图控制器(AViewController
),我有桌子
在该控制器中,我添加了另一个视图控制器视图作为子视图(BViewController
):
BViewController *barCodeScanner = [[BViewController alloc]init];
[self.view addSubview:barCodeScanner.view];
BViewController
有一个委托和一个委托方法,它有效
但是我想在AViewController
上刷新表格
所以我将委托移到AViewController
并尝试更改代理代码:
rdr.readerDelegate = self;
到
rdr.readerDelegate = AViewController;
但它不起作用。为什么呢?
答案 0 :(得分:4)
您需要为AViewController创建一个实例并将其设置为rdr
的委托:
rdr.readerDelegate = aViewControllerInstance;
答案 1 :(得分:3)
AViewController
是类型(类),而不是类型的实例。 Delegate接受类的实例,而不是类名。
答案 2 :(得分:1)
嗨,这可能会让你清楚问题。
AViewController *aView = [[AViewController alloc]init];
rdr.readerDelegate = aView ;
您需要将AViewController
的对象设置为委托。