我正在尝试从 AppDelegate 类调用 someClass 中的方法。 我通常创建一个实例,然后使用该实例调用该方法。像这样:
FFAppDelegate *delegate = (FFAppDelegate *) [[UIApplication sharedApplication] delegate];
[delegate someMethod];
我在我的代码中使用了很多 ^^,它运行良好。我想做的,就是把它转过来。我不想调用 AppDelegate 内部的方法,而是想从 AppDelegate 调用另一个类内部的方法。
SomeClass *test = (SomeClass *) [[UIApplication sharedApplication] delegate];
[test someMethod];
在这种情况下,由于“发送到实例的选择器无法识别”,我不断收到“由于未捕获的异常 'NSInvalidArgumentException' 而导致应用程序终止”错误。
任何关于此事的线索将不胜感激!
[[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 |