gpt4 book ai didi

Objective-c:从另一个 Controller 调用 void 函数

转载 作者:行者123 更新时间:2023-12-03 17:28:31 25 4
gpt4 key购买 nike

我有一个void,就像特定 Controller 中的-(void) doSomething。我可以通过 [self doSomething] 在此 Controller 中调用它,但我不知道如何从另一个 .m 文件调用此 void。

我想在-(IBAction)操作中调用它:(id)sender

我尝试使用performSelector,但日志中出现“unreconiezd 选择器发送”。我不知道我是否必须使用通知中心或委托(delegate)...

谢谢,罗南。

最佳答案

您必须在第二个 Controller 中拥有第一个 Controller 的实例(您在其中声明函数的 Controller )。

FirstViewController *firstController = [[FirstViewController alloc] init];
[firstController doSomething];

如果您的第一个 Controller 在其他地方声明,并且您希望第二个 Controller 知道它,请在第二个 Controller 中拥有一个 FirstViewController 类型的属性,并在需要时使用您的FirstViewController 实例。
有时,如果您有多个 Controller 实例并且您希望每个 Controller 实例都了解所有其他实例,那么这可能会非常复杂,因此我宁愿建议将您的方法重写为类方法:

+ (void) doSomething;

这样你就可以从任何地方调用它

[FirstViewController doSomething];

关于Objective-c:从另一个 Controller 调用 void 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1728606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com