2011-01-09 13 views
0

私はUIScrollViewerの中にUIDatePickerを持っており、その日付から変更を取得するたびにUITableView(リロード)を更新します。しかし、不思議なことに、datepickerをすばやくスクロールするとクラッシュし、次のようなエラーが表示されます。何が考えられますか?ここで私はdateValueを取得し、インスタンス変数(保持)startDateに設定するコードです。UIDatePicker UIScrollViewer

[CFString isEqualToString:]: message sent to deallocated instance

- (IBAction) getDateValue:(id) sender { 
NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"MMM d, yyyy h:mm a"]; 

if(field == 2) { 
    startDate = [NSString stringWithFormat:@"%@",[df stringFromDate:datePicker.date]]; 
    [tableView reloadData]; 

} 
else if(field == 3) { 
    endDate = [NSString stringWithFormat:@"%@",[df stringFromDate:datePicker.date]]; 
    [tableView reloadData]; 
} 
else { 
} 

[df release]; 

}

+0

私たちにいくつかのコードを教えてください! – vikingosegundo

答えて

0
startDate = [NSString stringWithFormat:@"%@",[df stringFromDate:datePicker.date]]; 

ない保持インスタンス変数です。それはオートリリースされました。これは、次回実行ループが回転したときに再割り当てされ、クラッシュの原因となることを意味します。

startDateendDateの変数を@property setterで設定することをお勧めします。

+0

私はそれをヘッダファイルのプロパティとして定義しましたが、問題は解決しません。 – fatih

+0

@ user496398あなたはivarに直接アクセスしています。プロパティを宣言するだけで、使用しない場合は何もしません。 –

+0

私はメモリ管理をより深く見る必要があると思います。ありがとうございました! – fatih