我有两个名为InterfaceController
和LoadInterfaceController
的课程。
我从InterfaceController
致电uiChange
的{{1}} function
:
LoadInterfaceController
调用了InterfaceController *interfaceController = [InterfaceController alloc];
//[interfaceController performSelectorOnMainThread:@selector(uiChange) withObject:nil waitUntilDone:true];
[interfaceController uiChange];
,但function
中的用户界面未被修改。
InterfaceController
如果- (void)uiChange {
NSLog(@"uiChange was called");
//... make changes to the UI ...
}
来自function
来自function
InterfaceController
,则会分别更改用户界面。
我尝试在class
上调用uiChange
(正如here所述),但用户界面没有响应。我如何指定用于main thread
UI的线程?
答案 0 :(得分:1)
与How can I set the length of entered text in a combobox?相同的问题。不要自己初始化控制器,让Watch在用户流程发生时执行。
我建议在您的架构中添加一个Pub / Sub模式。 NSNotificationCenter
类是实现一个的好例子。它允许应用程序的各个部分相互通信,并且它也经常用于控制器通信。
here一个很好的AppDelegate和控制器之间的通信示例,我最近回答了另一个问题。但如果你真的需要我可以采用它为你的例子。