IASKAppSettingsViewController

IASKAppSettingsViewController

我有一个IASKAppSettingsViewController的子类,我当然会使用它来显示和处理呈现给用户的设置的各种事件。
在此子类中,我试图通过将以下行添加到-(void)viewDidLoad来接收有关更改设置的通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(settingsChanged:) name:kIASKAppSettingChanged object:nil];

问题在于,永远不会调用方法settingsChanged。我认为还有其他方法可以做到这一点,或者我在这里做错了什么。此过程在其他类中确实对我有用,因此我认为IASKAppSettingsViewController有一些特殊之处阻止了此工作。有人可以指出我正确的方向吗?

编辑#1

通过GitHub从Future Tap收到了一条消息,他要求我检查示例应用程序。我做到了,示例应用程序未使用IASKAppSettingsViewController的子类。从那以后,我添加了另一个addObserver,并且也没有被调用。我验证了两个addObserver调用均已执行,因此不是原因。

编辑#2

看来我的应用程序中有些异常。我有多个观察此通知的类,它们都对要调用的方法使用相同的名称(settingsChanged)。当我在一个addObserver调用中单击Command的方法名称时,Xcode将我带到另一个类的settingsChanged方法。这可能是导致我的某些观察者方法不被调用的原因。

最佳答案

使用Future Tap,我们发现当视图消失时,“IASKAppSettingsViewController”将删除所有观察者。这导致我设置的观察者被删除,因此无法被调用。该代码已修复,我的问题已解决。

关于ios - IASKAppSettingsViewController的子类中的设置已更改通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19568995/

10-10 19:15