因为我是使用观察者模式的新手。我的应用程序在 iOS7 和更低版本上运行良好。
我使用 XCode 6 将我的应用程序升级到 iOS8。当我第一次在 XCode 6 中打开我的应用程序并运行它时,没有显示任何错误消息,我的应用程序崩溃了。
我尝试应用调试器和异常断点。
我发现我的应用程序addObserver:
在行代码处崩溃。我正在做的是:
- 我的应用程序首先打开登录屏幕,
- 用户必须输入用户名和密码。
- 如果它的新用户然后登录,用户名和密码将保存到数据库中。
- 内部用户可以选择更新他的密码并保存在数据库中。
现在当用户第二次登录时,我的观察者没有发现密码的变化。
同一行代码在较低版本上运行良好。我做错了什么?我的代码:
SqlLiteUser *userObj =(SqlLiteUser*)[objDAOFactory getUserDAO];
[userDAO addObserver:self forKeyPath:@"sendPasswordStatus" options:(NSKeyValueObservingOptionNew) context:@selector(handleSendPasswordResult:)];
[userDAO addObserver:self forKeyPath:@"noConnection" options:(NSKeyValueObservingOptionNew) context:@selector(noConnection)];