【发布时间】:2010-03-11 12:06:58
【问题描述】:
Xcode 向我抛出错误:
malloc: * 对象错误 0x103f000: 没有被释放的指针 已分配 * 在 malloc_error_break 中设置断点进行调试
我追踪了代码,直到我这样做的那一行:
- (void)inputValueCommitted:(NSString *)animationID finished:(BOOL)finished context:(void *)context {
// retainCount of myView is 2! (one for the retain-property, one for beeing a subview)
[self.myView removeFromSuperview]; // ERROR-LINE !!
self.myView = nil;
}
当我删除该错误行时,错误就消失了。所以结论是:我无法摆脱我的观点!
这是一个 UIImageView,里面什么都没有,只是显示一个图像。我所做的是:我创建一个 UIView 动画块,创建 UIImageView,将其分配给 self.myView = ... 的保留属性,动画完成后,我只想摆脱那个视图。所以我将它从它的 superview 中删除,然后将我的属性设置为 nil,这让它消失 - 理论上。
还有其他人遇到过这样的问题吗? iPhone SDK 3.0。
【问题讨论】:
标签: iphone cocoa-touch memory-management