2014-08-28 42 views
3

我的應用在iOS7上正常工作,但在iOS8上崩潰。「固定」發送到實例的奇怪「無法識別的選擇器發生崩潰發生在iOS8 beta5

我見過關於這個主題的各種問題,但從來沒有找到一個好的解決方案。

我有一個應用程序使用UITableViewController和UITableViewController有一個SearchDisplayController實例調用m_searchDisplayController。

當首先,我點擊搜索欄上搜索某些內容,表視圖,則顯示的結果,而搜索欄resignFirstResponder.But我再次點擊搜索欄,應用程序崩潰的:

-[MyFavoritesViewController _searchController]: unrecognized selector sent to instance 

這裏是堆棧:

enter image description here

然後我嘗試_searchController方法添加到MyFavoritesViewController類,像這樣:

- (UISearchDisplayController *)_searchController 
{ 
     return nil; 
} 

然後應用工作,除了搜索欄的文本框確定不能inputing.So我試試這個:

- (UISearchDisplayController *)_searchController 
{ 
     return m_searchDisplayController; 
} 

而另一墜毀的消息顯示:

-[UISearchDisplayController _searchBarShouldFinalizeBecomingFirstResponder]: unrecognized selector sent to instance 

我不知道如何定位錯誤代碼,並且任何人都有解決方案?提前致謝。

我的情況:

我做的UISearchBar一些黑客,我改變搜索欄的文本框的一些object.Originally的代表,系統的「_searchController」方法將調用委派搜索欄的文本框,但現在,它會打電話給我的對象,然後崩潰。我希望它有幫助。

+0

顯示堆棧跟蹤。 – trojanfoe 2014-08-28 08:52:46

+0

這是堆棧跟蹤。 – ylovesy 2014-08-28 09:25:05

+0

我找到解決方案。因爲我做了一些導致崩潰的黑客攻擊。 – ylovesy 2014-08-28 12:09:09

回答

0

如果您嘗試通過將委託分配給UISearchBar textField來響應正在輕敲的清除按鈕,則會在iOS8中暫停。嘗試另一種技術。

也許UISearchBarDelegate的方法現在

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
{ 
    // fired whenever the text is changed, or clear tapped 
    if (searchText.length == 0) { 
     // Do something 
    } 
} 

如果你需要不同的到最後退格鍵響應,那麼你將不得不圍繞人物的一些工作,如響應退格鍵,或添加一個不可見的字符退格不能刪除,但清除會刪除。這些只是2個建議。

0

我有同樣的問題。 使用SDK 8.0+編譯項目,問題將消失。 無需更改代碼。

另一種解決方案,不要分配UISearchBar委託中的UITextField和附加功能(如果有的話)移動到其他位置。

相關問題