Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIDatePicker leaks

I appear to have a leaky UIDatePicker. I have noted memory leaks for setting the datePickerMode to show date and time. But, I'm only trying to display date. I'm fairly certain this is a framework leak because when I comment out several UIDatePicker property assignments, the leaks go away. This code leaks 1 CGColor object, and 1 UIDeviceRGBColor object:

datePicker = [[UIDatePicker alloc] initWithFrame:[self detailViewRect]];


datePicker.datePickerMode = UIDatePickerModeDate; //leaks CGColor when setting this
datePicker.hidden = NO;
datePicker.timeZone = [NSTimeZone systemTimeZone]; //leaks UIDeviceRGBColor
datePicker.maximumDate = [NSDate date];//leaks UIDeviceRGBColor
datePicker.autoresizingMask = UIViewAutoresizingFlexibleWidth;

By commenting the lines Instruments reported as offending, I get no leaks:

datePicker = [[UIDatePicker alloc] initWithFrame:[self detailViewRect]];

//datePicker.datePickerMode = UIDatePickerModeDate; //leaks CGColor when setting this
datePicker.hidden = NO;
//datePicker.timeZone = [NSTimeZone systemTimeZone]; //leaks UIDeviceRGBColor
//datePicker.maximumDate = [NSDate date];//leaks UIDeviceRGBColor
datePicker.autoresizingMask = UIViewAutoresizingFlexibleWidth;

Without at least date mode set, the UIDatePicker is worthless. Does anyone have a workaround?

like image 779
stephen Avatar asked Oct 11 '12 00:10

stephen


1 Answers

This approach worked for me:

Create the DatePicker in xib instead of the programmatic approach. Then, on the Attributes Inspector, set Mode to Date.

like image 145
yoninja Avatar answered Oct 20 '22 06:10

yoninja