0

年齢を計算するための日付ピッカーがあります。初めて日付を選択すると正しいo/pが表示されますが、次に日付を選択するとアプリがクラッシュします。

私のコード:

NSDate *selected = [date1 date];
NSDateFormatter *df=[[NSDateFormatter alloc] init];


float interval=[selected timeIntervalSinceNow] * -1.0;

float year=interval/31556926;

if (year>10)
{
    alert.tag=0;
    alert=[[UIAlertView alloc]initWithTitle:@"Calculate Age" message:@"Congratulation!!!!Your Age Is Grater Than 10"  delegate:self cancelButtonTitle:@"Cancel"  otherButtonTitles:@"Ok", nil];
    [alert show];
    [alert release];             
}

`ログ:予期しない状態でナビゲーション遷移を終了します。ナビゲーションバーのサブビューツリーが破損する可能性があります。2012-07-02 13:38:19.568 loginDemo [1848:f803]の外観遷移を開始/終了するための不均衡な呼び出し。2012-07-02 13:38:30.658 loginDemo [1848:f803]-[__ NSCFType setTag:]:認識されないセレクターがインスタンス0x68dd0d0に送信されました2012-07-02 13:38:30.660 loginDemo [1848:f803] *キャッチされない例外'NSInvalidArgumentException'、理由:'-[__ NSCFType setTag:]:認識されないセレクターがインスタンス0x68dd0d0に送信されました' *最初のスロー呼び出しスタック:

`これにはデリゲートのメソッドが必要なかったため、UIPickerDelegateを使用しませんでした。これで、アラートビューの[OK]ボタンをクリックすると、遷移が実行されます。

4

1 に答える 1

0

問題を解決するalert.tag = 0行の下に行を配置するだけです。alert = [[UIAlertView alloc]....

また0、xib のすべてのビューには0デフォルトでタグ値があるため、タグ値を他の値に変更します。

于 2012-07-02T08:31:07.253 に答える