Ich habe anscheinend einen undichten UIDatePicker. Ich habe Speicherlecks bemerkt, um datePickerMode so einzustellen, dass Datum und Uhrzeit angezeigt werden. Aber ich versuche nur, das Datum anzuzeigen. Ich bin ziemlich sicher, dass dies ein Framework-Leck ist, denn wenn ich mehrere UIDatePicker-Eigenschaftszuweisungen auskommentiere, verschwinden die Lecks. Dieser Code leckt 1 CGColor Objekt und 1 UIDeviceRGBColor Objekt:UIDatePicker Lecks
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;
durch die Linien Kommentierung Instruments als säumige berichtet, habe ich keine Lecks erhalten:
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;
Ohne mindestens Datum-Modus gesetzt, die UIDatePicker ist wertlos. Hat jemand einen Workaround?
Haben Sie das Leck auf dem Gerät überprüft? Oder nur am Simulator? Manchmal hat der Simulator einen Speicherleckfehler, der auf dem Gerät nicht existiert. – barley
Verwenden Sie ARC? – Kevin
In Bezug auf Workaround, wie schlecht ist das Leck? –