OStack程序员社区-中国程序员成长平台

标题: iphone - 从 AppDelegate Objective-C IOS 调用 someClass 中的方法 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 03:59
标题: iphone - 从 AppDelegate Objective-C IOS 调用 someClass 中的方法

我正在尝试从 AppDelegate 类调用 someClass 中的方法。 我通常创建一个实例,然后使用该实例调用该方法。像这样:

FFAppDelegate *delegate = (FFAppDelegate *) [[UIApplication sharedApplication] delegate];
[delegate someMethod];

我在我的代码中使用了很多 ^^,它运行良好。我想做的,就是把它转过来。我不想调用 AppDelegate 内部的方法,而是想从 AppDelegate 调用另一个类内部的方法。

SomeClass *test = (SomeClass *) [[UIApplication sharedApplication] delegate];
[test someMethod];

在这种情况下,由于“发送到实例的选择器无法识别”,我不断收到“由于未捕获的异常 'NSInvalidArgumentException' 而导致应用程序终止”错误。

任何关于此事的线索将不胜感激!



Best Answer-推荐答案


[[UIApplication sharedApplication] delegate]; 返回您的 AppDelegate 类,而不是 SomeClass

你可以这样使用:

FFAppDelegate *delegate = (FFAppDelegate *) [[UIApplication sharedApplication] delegate];
[delegate someMethodForSomeClass];

然后在您的 AppDelegate 代码 someMethodForSomeClass 中像这样:

- (void)someMethodForSomeClass
{
    SomeClass *someClass = _yourSomeClass;
    [someClass someMethod];
}

关于iphone - 从 AppDelegate Objective-C IOS 调用 someClass 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18583859/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4