我面临的问题涉及多个视图,每个视图都需要彼此通信。我选择使用文件所有者,但似乎无法从视图内部访问已加载的实例。
最后,我想在视图2中更新视图1中的标签。
然后栏移动,我想要更改标签
目前,我认为合理的解决方案是要求文件所有者对标签进行更改。从“一些视图”,我想打电话给文件所有者并提出请求。
从作为笔尖一部分的任何视图的立场来看,我怎么知道这个笔尖的“文件所有者”是谁?
在Interface Builder中,文件所有者将IBOutlet维护到视图的UILabel。
答案 0 :(得分:0)
这听起来可能非常混乱,使用NSNotifications可能会更好地解决。
但无论如何,你知道有一个UINib课吗?也许你可以继承它并跟踪所有者(在instantiateWithOwner: options:
方法中传递)随着事物的加载。
答案 1 :(得分:0)
您需要在Puzzle1类中定义delegate
(或任何您喜欢的名称)插座,并将其链接到笔尖中的文件所有者。这将为您提供指向当前拥有您的视图的视图控制器实例的指针。如果将委托的类型设置为viewcontroller子类,则可以在视图中使用其方法和属性。