0

私のView Controllerの1つに、と呼ばれるメソッドがあります

-(void)calculateUpdatedTotal{ // do things here }

ユーザーがテキスト フィールドを離れるたびに更新を実行すると、ステートメントは次のようになります。

[self calculateUpdatedTotal];

以下で説明する場合を除いて、うまく機能します。

コントローラー ビューが表示されたときに計算を更新する必要があるため、viewDidAppear メソッドにメソッドを呼び出すステートメントを含めました。viewDidAppear は意図したとおりに実行されていますが、[self calculateUpdatedTotal]; 何もしていません。エラーも警告もありません。いくつかの NSLog ステートメントを使用して絞り込みましたが、実行されていないことを除いて、すべて問題ありません。viewDidAppear と何か関係があるのでしょうか? 問題を追跡して修正する方法についてのご意見をお待ちしております。

4

1 に答える 1

0

これらのルーチンが呼び出されていることを確認するために、viewWillLoadまたはviewWillUnloadのいずれにも呼び出しを行わなかったと思います。このコードがペン先とビューを持つUIViewControllerサブクラスにあると仮定すると、考えられる唯一の説明は、メソッド名を入力し、コマンド競合またはコピー貼り付けを使用しなかったことです。それはあなたが持っていることを確認します:

- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;

これらがシステムから呼び出されなかったケースは聞いたことがありません。ただし、名前のつづりを間違えると、そのようなメソッドを提供するように強制するプロトコルではないため、わかりません。

于 2012-08-08T21:33:21.770 に答える