0

Observerパターンを使用するのは初めてです。iOS7 以前のバージョンでアプリケーションを正常に実行しています。

XCode 6 を使用してアプリケーションを iOS8 にアップグレードしました。アプリケーションを XCode 6 で初めて開いて実行すると、エラー メッセージが表示されずにアプリケーションがクラッシュします。

デバッガと例外ブレークポイントを適用してみました。

私が見つけたのは、アプリケーションがaddObserver:行コードでクラッシュしていることです。私がやっていることは次のとおりです。

  1. 私のアプリケーションは最初にログイン画面を開き、
  2. ユーザーはユーザー名とパスワードを入力する必要があります。
  3. 新しいユーザーがログインすると、ユーザー名とパスワードがデータベースに保存されます。
  4. 内部ユーザーには、パスワードを更新して DB に保存するオプションがあります。

ユーザーが 2 回目にログインしたときに、オブザーバーがパスワードの変更をキャッチしていません。

同じコード行は、下位バージョンで正常に動作します。私は何か間違ったことをしていますか?私のコード:

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)];
4

0 に答える 0