-4

我是sub-classing先前问题建议UIScrollView element的回应。

在我的subclass我有一些由触摸和键盘事件触发的方法。这些事件需要以各种方式与 my 中的变量进行交互superview

我已经尝试通过访问它们,_myVar.text = @"smth"但没有编译。

我知道我可以来回播放,NSNotifications但是有没有办法superview / class从 my访问 my 中的变量UISCrollView subclass

我试过self.myVar = @""了,但它说它没有被认可。我正在继承 anUIScrollView element但是我持有所有变量的观点是 a UIViewController。只是 UISCroll 元素被子类化

4

3 回答 3

0

听起来你在这里有点困惑。你确定你在谈论superview?还是您在谈论派生子类的超类?如果是 superview,并且如果您知道 superview 的类型,则获取指向它的指针,将其转换为适当的类类型,然后调用其上的方法或访问其可见属性。

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

如果您正在谈论超类(在您的情况下UIScrollView),那么是的,您当然可以使用它的任何可见方法和属性。

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

如果不清楚有什么区别,你真的应该多读一些关于 Objective-C 和面向对象编程的基础知识。

  • Superview:相对于该视图布局的视图。这个视图是subviewsuperview的一个。UIView并且所有派生类都有这种层次关系。
  • 超类:要扩展其功能以定义子类的类。您的子类继承了所有可见的属性和方法。
于 2013-06-19T08:26:20.363 回答
0

超类中的所有内容@property都可以在子类中访问,但不能以其他方式访问

于 2013-06-19T08:21:52.870 回答
0

这么多的困惑,从哪里开始?我真的不知道。物有所值,

_myVar.text = "@"smth"

显然不会编译,注意流浪“。

_myVar.text = "@smth"

有更好的编译机会。

于 2013-06-19T08:39:10.400 回答