我将UIDatePicker放在UIScrollViewer中,每当我从日期得到更改时,我都会更新我的UITableView (重新加载)。但奇怪的是,如果我非常快地滚动datepicker,它会崩溃,并给我以下错误?这是什么想法?下面是我获取dateValue并将其设置为实例变量(保留的) startDate的代码。
[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];}
发布于 2011-01-10 01:58:48
startDate = [NSString stringWithFormat:@"%@",[df stringFromDate:datePicker.date]];这不是一个保留的实例变量;它是自动释放的。这意味着它将在下一次运行循环旋转时重新分配,并且是崩溃的根源。
我建议改为通过@property设置器设置startDate和endDate变量。
https://stackoverflow.com/questions/4640660
复制相似问题