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 = ...将其分配给一个retain-property,并在动画完成后,我只想摆脱那个视图。所以我从它的superview中删除它,然后将我的属性设置为nil,这让它消失了 - 理论上。
有没有其他人遇到过这样的问题? iPhone SDK 3.0。
答案 0 :(得分:1)
SDK 3.0中的模拟器中存在可能导致该错误的错误:
iPhone development: pointer being freed was not allocated
3.1+中的模拟器或任何SDK版本下的设备上都不会出现这种情况。