В UIViewController
documentation о свойстве searchDisplayController
1 говорится:
Если вы программным образом создаете свой контроллер отображения поиска, это свойство автоматически устанавливается контроллером дисплея поиска, когда оно инициализируется.
И когда я создаю свой UISearchDisplayController таким образом:
[[[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self] autorelease];
-[UIViewController searchDisplayController]
не nil
. Однако он завершается после завершения цикла событий, что приводит к тому, что контроллер отображения не отображается, когда я касаюсь панели поиска. Ничего не происходит. Это очень странно. Если я опускаю вызов autorelease
, все работает:
[[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
Однако утечка UISearchDisplayController
(я проверил это с помощью инструментов). Поскольку свойство searchDisplayController
помечено как (nonatomic, retain, readonly)
Я ожидаю, что он сохранит UISearchDisplayController
после его установки.