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