が発生します。たちはUISearchControllerを持っているのUITableViewControllerを持っている我々のアプリでクラッシュ
searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
[self.searchController.searchBar sizeToFit];
self.tableView.tableHeaderView = self.searchController.searchBar;
self.showFooterView = YES;
self.searchController.delegate = self;
self.searchController.dimsBackgroundDuringPresentation = NO; // default is YES
self.searchController.searchBar.delegate = self;
self.definesPresentationContext = YES;
テーブルビューコントローラは、UISearchBarDelegate とUISearchControllerDelegateです。
#pragma mark - UISearchBarDelegate
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
[searchBar resignFirstResponder];
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
self.contacts = self.allContacts;
[self.tableView reloadData];
}
は今、すべてが期待通りに動作しますが、そこの機会は、ユーザーが検索を開始すると、検索バーに数文字でタイプは、結果が返されており、ユーザーが検索をキャンセルして、この問題が発生した:
Fatal Exception: NSInvalidArgumentException
-[_UIFullscreenPresentationController adaptivePresentationController]: unrecognized selector sent to instance 0x147c81ce0
Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x1842b4f48 __exceptionPreprocess
1 libobjc.A.dylib 0x198d77f80 objc_exception_throw
2 CoreFoundation 0x1842bbc5c __methodDescriptionForSelector
3 CoreFoundation 0x1842b8c00 ___forwarding___
4 CoreFoundation 0x1841bccac _CF_forwarding_prep_0
5 UIKit 0x18a1ba084 -[UISearchController _searchPresentationController]
6 UIKit 0x189e7d10c -[_UISearchControllerTransplantSearchBarAnimator animateTransition:]
7 UIKit 0x189b9fa90 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke
8 UIKit 0x189af856c _runAfterCACommitDeferredBlocks
9 UIKit 0x189b054bc _cleanUpAfterCAFlushAndRunDeferredBlocks
10 UIKit 0x189839984 _afterCACommitHandler
11 CoreFoundation 0x18426bbd0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
12 CoreFoundation 0x184269974 __CFRunLoopDoObservers
13 CoreFoundation 0x184269da4 __CFRunLoopRun
14 CoreFoundation 0x184198ca0 CFRunLoopRunSpecific
15 GraphicsServices 0x18f3d4088 GSEventRunModal
16 UIKit 0x1898b0ffc UIApplicationMain
このエラーは、本番環境でFabricによって報告されていますが、これを再現できませんでした。
この問題は次のようになります。Selecting cell after search doesn't segue visually, but loads next view Swift Xcode実際の回答はまだありません。
私はプレゼンテーションコントローラを調べ始めましたが、プレゼンテーションコントローラを特定の方法で設定する特別な機能はありません。
これを修正する方法についてのご意見はありますか?
ありがとうございました
あなたは答えを見つけましたか?またはまだあなたは問題に直面しています。コードレベルでこの問題を確認してください。あなたはアクセスしようとしていますが、それはメモリにありませんでした – karthik