2010-03-11 1 views
0

Xcode бросает ошибку на меня:Удаление представления из его супервизора вызывает ошибку памяти - почему?

malloc: * error for object 0x103f000: pointer being freed was not allocated * set a breakpoint in malloc_error_break to debug

Я разыскал код до строки, где я это сделать:

- (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; 
} 

Когда я удалить эту errorful линию, ушла ошибка. Итак, в заключение: я не могу избавиться от своего взгляда!

Это UIImageView, в котором нет ничего, кроме изображения. Что я делаю, так это: создаю UIView Animation Block, создаю UIImageView, присваиваю ему свойство сохранения с self.myView = ..., и после завершения анимации я просто хочу избавиться от этого представления. Поэтому я удаляю его из его супервизора, а затем устанавливаю свое свойство в nil, что позволяет ему уйти - теоретически.

Неужели кто-нибудь еще сталкивался с такими проблемами? iPhone SDK 3.0.

ответ