我理解MVC的概念。至少我希望我这样做,但是我最近遇到的一个特殊情况让我觉得我实际上不知道。
问题: 我正在尝试创建一个类,该类在应用于现有按钮时会添加编辑该按钮标题的功能。它通过动态生成一个 UITextField 来实现,该 UITextField 将依次填充 Button 的新名称。我持有在一个名为 CustomAnimation 的类中添加 UITextField 并通过以下方式对其进行初始化的逻辑:
CustomAnimation *yar = [[CustomAnimation alloc] initWithButton:customButton];
我遇到的问题是,当我尝试从自定义类(如 CustomAnimation)动态创建 UIButton 并尝试为其分配目标/动作时。由于 UIButton 实际上是从 CustomAnimation 类的 ViewController 内部生成的,因此前者应该获取指向父 ViewController 的指针,然后将其设置为目标。
[classButton addTarget:viewController action:@selector(dostuff:) forControlEvents:UIControlEventTouchUpInside];
一切都很好,除了一件事 - dostuff方法应该驻留在 ViewController 中以便对该按钮可见,而这里一切都变成了 hack。
当您想从类而不是控制器内部生成临时 UI 元素时,正确的方法是什么?
谢谢