0

ビューコントローラー ( AViewController) が 1 つあり、そこにテーブルがあります。
そのコントローラーで、別のView Controllerビューをサブビューとして追加しました(BViewController):

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

BViewControllerデリゲートと 1 つのデリゲート メソッドがあり、機能します。
しかし、 のテーブルを更新したいAViewController
そこで、デリゲートを次のように移動しAViewController、デリゲート コードを次のように変更しようとしました。

rdr.readerDelegate = self;

rdr.readerDelegate = AViewController;

しかし、うまくいきません。なんで?

4

3 に答える 3

4

AViewController のインスタンスを作成し、デリゲートとして次のように設定する必要がありますrdr

rdr.readerDelegate = aViewControllerInstance;
于 2012-09-26T14:31:59.047 に答える
3

AViewController型 (クラス) であり、型のインスタンスではありません。デリゲートは、クラス名ではなく、クラスのインスタンスを受け入れます。

于 2012-09-26T14:31:46.713 に答える
1

こんにちは、これで質問がクリアになるかもしれません。

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

rdr.readerDelegate = aView ;

AViewControllerのオブジェクトをデリゲートとして設定する必要があります。

于 2012-09-26T15:13:20.190 に答える