【发布时间】:2012-11-01 21:56:37
【问题描述】:
我一直在试图找出为什么一块内存没有被释放。我可以看到它分配,但是当我离开视图并返回时,它被重新分配。它正在分配一个笔尖,然后使用视图。
有没有办法跟踪仍然指向对象的内容?
TPDatePickerKeyboardView *keyboard = [[[NSBundle mainBundle] loadNibNamed:@"TPDatePickerKeyboardView" owner:self options:nil] objectAtIndex:0];
keyboard.delegate = self;
keyboard.associatedControl = self;
self.datePickerKeyboard = keyboard;
self.inputView = keyboard;
我找到了 Object,但它是 UIKit 的一部分?
【问题讨论】:
-
我不认为有办法看到这一点。但假设 self.datePickerKeyboard 和 self.inputView 保留对象,你应该在
self.inputView = keyboard;之后调用 [keyboard release](如果我说的很明显,请道歉) -
您在使用 ARC 吗? datPickerKeyboard 的属性是如何定义的?
-
我正在使用 arc 并且我有一个指向键盘视图的弱指针
-
如果您在 Instruments 中显示对象摘要并通过“类别”向下钻取到实际对象,它应该显示保留/释放历史记录。这是否提供了任何线索来说明可能仍然持有它的东西?
-
因为它似乎与 nib 加载有关,所以我目前唯一能想到的(牵强的)想法是确保您连接到 nib 元素的任何 IBOutlets 不是顶部级对象被声明为弱。
标签: objective-c ios memory automatic-ref-counting