您好我正在尝试从另一个视图控制器调用一个方法,它正在工作,但没有显示在主屏幕上。日志显示该方法正在运行,但更可能在我的控制器的新实例上。
以下是我的ViewController类
中的方法//.h First
{
- (void)updateCells;
}
//.m First
- (void)updateCells
{
//Code in here
}
在调用方法的另一个(第二个)视图控制器的方法中:
ViewController *viewController = [[ViewController alloc] init];
dispatch_async(dispatch_get_main_queue(), ^{
[viewController updateCells];
});
我尝试dispatch_async
让它在屏幕上执行updateCells,但是调用该方法并且其中没有任何内容显示。我不应该创建一个新的viewController
实例,如果是这样,我应该做什么呢?谢谢我不熟悉不同类的调用方法是如何工作的。
答案 0 :(得分:1)
如果你想让邻居的狗翻身,你会去找英镑,找一条新狗,大叫“翻身!”在它,然后射击头部,然后去你邻居的房子,并期望发现她的狗正在翻身?因为这就是你在这里所做的。
如果您希望将某个现有视图控制器设置为updateCells
,则需要对该现有视图控制器的引用,以便您可以向其发送updateCells
消息。
您正在做的是创建一个新的视图控制器,向其发送updateCells
消息,然后将其取消分配。为什么您希望对现有的视图控制器产生任何影响?
“你”(意思是,需要发送 updateCells
方法的方法)如何获得对现有视图控制器的引用完全取决于您的特定应用程序。如果您需要帮助弄清楚“你”应该如何获得对现有视图控制器的引用,请编辑您的问题以包含所涉及的视图控制器的实际类名等详细信息(因为这样可以更容易地讨论它们),以及如何创建这些类的现有实例。