2010-06-17 7 views
1

Недавно я представил приложение для просмотра приложения, но меня отклонили из-за использования частного API. Я еще немного новой для iPhone развивается так мне было интересно, если кто-то может мне помочь понять, как эта часть была отвергнута:setSearchDisplayController считается private-API?

UISearchBar *searchBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 0)] autorelease]; 
searchBar.showsCancelButton = NO; 
searchBar.placeholder = @"Search Exhibitors"; 
[searchBar sizeToFit]; 

[self.tableView setTableHeaderView:searchBar]; 

UISearchDisplayController *searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self]; 

[self performSelector:@selector(setSearchDisplayController:) withObject:searchDisplayController]; 

[searchDisplayController setDelegate:self]; 
[searchDisplayController setSearchResultsDataSource:self]; 
[searchDisplayController setSearchResultsDelegate:self]; 
[searchDisplayController release]; 

Часть они была упомянута «setSearchDisplayController». Я основал поиск UITableView на примере, приведенном here. Так может ли кто-нибудь объяснить, почему это считается частным API?

ответ

1

-setSearchDisplayController: упоминается где угодно в документации (я не думаю, что это так)? Если это не так, это не публичный API.

Тот факт, что вы должны использовать -performSelector:withObject: и не можете называть его напрямую, является еще одной дешевой распродажей. -setSearchDisplayController явно не включен в любые файлы заголовков.

0
[self performSelector:@selector(setSearchDisplayController:) withObject:searchDisplayController]; 

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

0

С UIViewController документа Apple:

@property (неатомический, только для чтения, сохранение) UISearchDisplayController * searchDisplayController
Это свойство отражает значение выхода searchDisplayController, установленный в Interface Builder. Если вы программно создаете свой контроллер дисплея поиска, это свойство устанавливается автоматически контроллером поиска при его инициализации .

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