gpt4 book ai didi

ios - 为什么我不能调用另一个类的方法?

转载 作者:行者123 更新时间:2023-11-28 18:21:25 32 4
gpt4 key购买 nike

我正在尝试从“IAPHelper”调用“SettingsViewController”中的方法。

在搜索答案后,我想我已经掌握了如何做的要点。这是我所做的:

SettingsViewController.h

@interface SettingsViewController : UITableViewController

- (void)stopActivityIndicatorAnimating;

SettingsViewController.m

- (void)stopActivityIndicatorAnimating
{
// DO STUFF
}

IAPHelper.h

#import "SettingsViewController.h"

IAPHelper.m

SettingsViewController *settingsViewControllerInstance = [[SettingsViewController alloc] init];
[settingsViewControllerInstance stopActivityIndicatorAnimating];

现在,我四处寻找有同样问题的人,但对我来说,所有的解决方案看起来都像我正在做的!

我遇到的问题是没有错误,代码应该执行(我添加了一个 NSLog)但是它应该调用的方法中的代码没有发生。就是默默的不做。

有人可以告诉我我是否遗漏了什么,完全错误地(很可能),或者它是否真的应该起作用并且我在其他地方做错了,在这种情况下我会让你一个人呆着.

谢谢!

最佳答案

在您的 IAPHelper 中,您正在创建一个新的 viewContorller。这是您将 stopActivityIndi​​catorAnimating 消息发送到的对象。由于此 viewControllers View 可能不在可见的 viewHierarchy 中,因此您将看不到任何效果。解决这个问题的方法是有一个更好的设计,例如:让你的 IAPHelper 发送一个合适的 NSNotification。然后 viewCotroller 可以观察到这个通知并对其进行操作(即打开或关闭 activityMonitor)。由于您的 IAPHelper 很可能是一种数据层类型的对象,因此您不希望将它耦合到 viewController,因为这会导致非常严格的设计,这样的问题会变得更加频繁和困难。

关于ios - 为什么我不能调用另一个类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19763722/

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