2012-05-10 3 views
2

Я получаю эту ошибку («ViewController отвечаетSoSelector:]: сообщение, отправленное на освобожденный экземпляр»), когда я включаю «Объекты зомби». Я нашел, где ошибка, но я не знаю, как ее решить.ViewController отвечаетSoSelector:]: сообщение отправлено на освобожденный экземпляр

Вот код: ViewController.h

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController <UISearchDisplayDelegate, UISearchBarDelegate>{ 


    // The saved state of the search UI if a memory warning removed the view. 
    NSString  *savedSearchTerm; 
    NSInteger  savedScopeButtonIndex; 
    BOOL   searchWasActive; 
} 

@property (nonatomic, copy) NSString *savedSearchTerm; 
@property (nonatomic) NSInteger savedScopeButtonIndex; 
@property (nonatomic) BOOL searchWasActive; 

ViewController.m

... 
// when I comment out "viewDidDisappear" everything is ok, how to solve this on different way? 
- (void)viewDidDisappear:(BOOL)animated 
{ 
    // save the state of the search UI so that it can be restored if the view is re-created 
    self.searchWasActive = [self.searchDisplayController isActive]; 
    self.savedSearchTerm = [self.searchDisplayController.searchBar text]; 
    self.savedScopeButtonIndex = [self.searchDisplayController.searchBar selectedScopeButtonIndex]; 
}... 

Спасибо за помощь

+0

Вы когда-нибудь решали эту проблему? У меня такая же проблема. – achi

+0

@EliGregory - да. Я комментирую viewDidDisappear :) – CroiOS

+2

, так что я havent переопределил этот метод, не нужно искать в другом месте – achi

ответ

0
/* 
- (void)viewDidDisappear:(BOOL)animated 
{ 
    // save the state of the search UI so that it can be restored if the view is re-created 
    self.searchWasActive = [self.searchDisplayController isActive]; 
    self.savedSearchTerm = [self.searchDisplayController.searchBar text]; 
    self.savedScopeButtonIndex = [self.searchDisplayController.searchBar selectedScopeButtonIndex]; 
} 
*/ 
0

Вы должны положить [супер viewDidDisappear: анимированные] в начало вашего переопределения, поскольку это реализация по умолчанию ион. Забыть эту строку иногда может вызвать проблемы.

редактировать:

Я думаю, что вам может понадобиться, чтобы получить возможность отправлять больше код. Ключ может быть во что-то еще, что вы делаете или не делаете.

+0

спасибо, но это не проблема. – CroiOS

2

Что вы делаете, чтобы «создать» эту ошибку?

В моем случае я вытащил ViewController из стека навигации, и все еще были NSNotifications, отправленные в этот VC. Я просто забыл удалить всех наблюдателей в свой ВК.

Смежные вопросы