2

IBOutlet にアクセスできません。クラス AI には、デリゲートがクラス B として設定されているスクロールビューがあります。

クラス A ヘッダー

@property(nonatomic, strong) ClassB *B;

クラス A の実装

self.B = [[ClassB alloc] init];

[_scrollview setDelegate:self.B];

現在、scrollview は scrollViewDidScroll を呼び出し、ClassB で正しくスクロールしました

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

しかし、ClassB で宣言された IBOutlets に scrollViewDidScroll からアクセスできません。彼らは単に nil を返します。

4

3 に答える 3

0

クラスAでデリゲートオブジェクト(B)を作成しています。これは機能しますが、おそらくアウトレットを取得できません。アウトレットを接続したデリゲートとオブジェクトは、classB の 2 つの異なるインスタンスになるためです。したがって、classB に移動する前に、classA からデリゲートを (self として) 設定する必要があります。

于 2013-08-29T14:56:10.083 に答える
0

アウトレットにアクセスするには、NIB から ClassB をロードする必要があります。

参照: - (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

于 2013-08-29T15:24:27.283 に答える