gpt4 book ai didi

iphone - 从 AppDelegate Objective-C IOS 调用 someClass 中的方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:45:57 24 4
gpt4 key购买 nike

我正在尝试从 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/

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