11

漏れやすい UIDatePicker があるようです。日付と時刻を表示するように datePickerMode を設定すると、メモリ リークが発生することがわかりました。しかし、私は日付を表示しようとしているだけです。いくつかの UIDatePicker プロパティの割り当てをコメントアウトすると、リークがなくなるため、これはフレームワークのリークであると確信しています。このコードは、1 つの CGColor オブジェクトと 1 つの UIDeviceRGBColor オブジェクトをリークします。

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;

Instrumentsが問題があると報告した行にコメントすることで、リークはありません。

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;

少なくとも日付モードが設定されていない場合、UIDatePicker は役に立ちません。誰にも回避策がありますか?

4

1 に答える 1

2

このアプローチは私のために働いた:

プログラムによるアプローチではなく、xib で DatePicker を作成します。次に、属性インスペクターで、モードを日付に設定します。

于 2012-12-20T03:16:31.480 に答える