iOS 5.0を実行しているiPhone 4SとiOS 4.3を実行しているiPadで、同じコードの異なる動作を分類しようとすると、困惑します。UIDatePickerコードを実行しているiOS 4.3と5.0の動作が異なる
ビューコントローラコードは、生年月日を入力する日付ピッカーを持つビューに関連付けられています。インタフェースビルダーを介して日付ピッカーが受信アクションに関連付けられているビューコントローラ方法に向けられ、「変更された値」 - (IBAction)生年月日:(ID)、送信者:このコードは、そのアプリケーションにおいて非常に重要である
ビューが読み込まれたときには実行されません。私は、ビューがiOS 5.0で読み込まれたときにこのコードが実行されないようにブレークポイントを挿入してデモンストレーションしましたが、iOS 4.3でビューが読み込まれてプログラムに実際の問題が発生したときに実行されます(デフォルトの生年月日は入力された生年月日として解釈されます) 。ユーザーがデフォルトの生年月日を変更しない限り、IBActionコードがiOS 4.3で実行されないようにする方法についてアドバイスをいただければ幸いです。私はこの行動の違いがなぜ存在すべきかについても非常に興味があります。前もって感謝します。
ありがとうコードです。残念ながら、iOS 4.3でも同じ問題が発生します。このコードとシーケンシャルブレークポイントを配置すると、ビューがロードされるときの実行順序はloadView、次にviewDidLoad、メソッドbirthDate(その時点でブール値はNO)です。私が試すことができる追加の提案? – user183804
try - (void)viewDidAppear:(BOOL)animated {[super viewDidAppear:animated]; } – mackross
優秀! viewDidLoad、次にbirthDate、次にviewDidAppearの実行シーケンスは、iOS 4.1,4.2,4.3、および5.0を実行しているブール・スキームで完全に動作します。大きな助けをいただきありがとうございます。 – user183804