我有一个 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)。当我在一次调用中按住 Command 键单击方法的名称时addObserver
,Xcode 会将我带到另一个类的 settingsChanged 方法。这可能是导致我的一些观察者方法没有被调用的原因。