プロパティ1に関するUIViewController
ドキュメントでは、次のように述べています。searchDisplayController
検索ディスプレイ コントローラーをプログラムで作成する場合、このプロパティは、初期化時に検索ディスプレイ コントローラーによって自動的に設定されます。
そして、このように UISearchDisplayController を作成すると:
[[[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self] autorelease];
-[UIViewController searchDisplayController]
ありませんnil
。ただし、イベント ループが終了すると無効になるため、検索バー内をタッチしても検索ディスプレイ コントローラーが表示されません。何もクラッシュしません。これは非常に奇妙です。への呼び出しを省略するとautorelease
、すべてが機能します。
[[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
ただし、リークしますUISearchDisplayController
(Instrumentsでこれを確認しました)。searchDisplayController
プロパティ(nonatomic, retain, readonly)
は、設定後も保持されると予想されるため、マークされてUISearchDisplayController
います。
このスタックオーバーフローの記事は関連しています。