对象实例之间共享常规类全局变量 - 帮助!
-
03-10-2019 - |
题
我刚刚开始学习具有一些Java经验的目标C,这个网站对回答我的问题的负担确实很有帮助,但是我已经遇到了一个问题,我无法完全理解。关于该主题的内容有很多值得阅读的内容,但我找不到我出了问题的地方。
我读了:
目标C不支持类数据成员(即同一类的所有对象共享的数据),但是,可以通过使用静态修饰符来模拟它们。例如,在员工类实现文件中声明静态int计数变量将导致所有员工对象共享一个称为count的单个整数变量。
但是我似乎最终没有尝试过这种功能……我不想要它!
场景是我有一个类别的UIImageView,其中我声明了一个全局变量(在我的@Implementation行以下)来计算特定事件,并将其用于我的新方法。
@implementation UIImageView (Draggable)
int touchesCount = 0;
// methods ...
如果我有一个UIImageView,一切正常。但是,当我创建并添加uiimageView的第二个实例时,此计数变量在两个给出意外行为之间共享。
表明显示我如何创建对象可能很重要:
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:myImageRect];
UIImageView *myImageView2 = [[UIImageView alloc] initWithFrame:myImageRect];
// ... (create, manipulate and set 2 images to the 2 views)
[self.view addSubview:myImageView];
[self.view addSubview:myImageView2];
除此之外,关于我可能出错的任何建议吗?
谢谢!
编辑: 为了说明我对这两种视图所做的事情,在这种情况下,自我是一个ViewController。
不隶属于 StackOverflow