ios - IASKAppSettingsViewController 的子类中的设置更改通知

标签 ios objective-c inappsettingskit

我有一个 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”会在 View 消失时移除所有观察者。这导致我设置的观察者被删除,因此不会被调用。代码已修复,我的问题已解决。

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

相关文章:

ios - 在上传网络更改期间,iOS

javascript - 如何在 React Native 中将事件从 iOS 发送到 javascript

ios - InAppSettingsKit 具有多种本地化版本

ios - 如何使用 inappSettings 设置 2 个不同的设置页面

ios - 在 UITableViewCell 中为 textLabel 设置边界

ios - 将 Byte、short int、int 转换为 NSData 或 NSMutableData 而不转换为 NSString

ios - 加密plist文件方法

iphone - 值转换问题 : Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long' ) to 'int'

iphone - 如何判断 UserLocation 是在 MKPolygonview 中还是在 iOS MKMapView 中的特定区域内?

ios - InAppSettingKit subview 的 setHiddenKeys