-4

私は以前sub-classingの質問の提案UIScrollView elementに答えています。

subclassには、タッチとキーボードのイベントによってトリガーされるメソッドがいくつかあります。これらのイベントは、 my にある変数とさまざまな方法で対話する必要がありますsuperview

経由でアクセスしようとしまし_myVar.text = @"smth"たが、コンパイルされません。

前後に再生できることはわかっていますが、 myから myNSNotificationsの変数にアクセスする方法はありますか?superview / classUISCrollView subclass

試してみましself.myVar = @""たが、認識されていないと表示されます。をサブクラス化してUIScrollView elementいますが、すべての変数を保持するビューはUIViewControllerです。UISCroll 要素だけがサブクラス化されました

4

3 に答える 3

0

スーパークラスのすべてのものは@propertyサブクラスでアクセスできますが、他の方法ではアクセスできません

于 2013-06-19T08:21:52.870 に答える
0

ここで少し混乱しているようです。あなたは本当にスーパービューについて話しているのですか?それとも、サブクラスを派生させたスーパークラスについて話しているのでしょうか? スーパービューの場合、スーパービューの型がわかっている場合は、それへのポインターを取得し、適切なクラス型にキャストしてから、そのメソッドを呼び出すか、その可視プロパティにアクセスします。

UIButton* superButton = (UIButton*)[self superview];
superButton.visible = NO; // Assign to superview property

スーパークラスについて話している場合(あなたの場合UIScrollView)、もちろん、その目に見えるメソッドとプロパティのいずれかを使用できます。

self.bounces = YES; // Assign to superclass property

違いがはっきりしない場合は、Objective-C とオブジェクト指向プログラミングの基本についてもう少し読んでおく必要があります。

  • スーパービュー: このビューが配置される相対的なビュー。このビューはsubviewスーパービューです。UIViewすべての派生クラスには、この階層関係があります。
  • スーパークラス: サブクラスを定義するために拡張する機能を持つクラス。サブクラスは、表示されるすべてのプロパティとメソッドを継承します。
于 2013-06-19T08:26:20.363 に答える