2015-08-04 3 views
0

Я много читал о новом UISearchController и его протоколах. и я видел много страниц в документации и пример кода от Apple. Но я не смог реализовать его в своем проекте -Xcode 6.4- iOS 8 App.Как показать результаты поиска с помощью UISearchResultsОбновить

Прямо сейчас мне нужна помощь по реализации протокола UISearchResultsUpdating. Я сделал UITableViewController под названием FYPBooksLibraryTableViewController, и я хочу найти его имена файлов. Когда я запускаю его, все работает, НО результаты не отображаются вообще.

Из .m файла:

#pragma mark - UISearchBarDelegate 
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    [searchBar resignFirstResponder]; 
} 

#pragma mark - UISearchResultsUpdating 
- (void)updateSearchResultsForSearchController:(UISearchController *)searchController { 
//Waiting a fix 
} 

Мои данные находятся в этих 2 файла: BooksData & FYPBooksObject

// BooksData.h 

    #import <Foundation/Foundation.h> 

    #define BOOK_NAME @"Book Name" 
    #define BOOK_NUMBER_OF_PAGES @"Number of Pages" 
    #define BOOK_LINK @"Book Path" 

    @interface BooksData : NSObject 
    + (NSArray *)allBooks; 
    @end 

    // BooksData.m 
    #import "BooksData.h" 

    @implementation BooksData 
    + (NSArray *)allBooks { 
     NSMutableArray *booksInformation = [@[] mutableCopy]; 
     NSDictionary *book1Dictionary = @{BOOK_NAME : @"Book 1", BOOK_NUMBER_OF_PAGES : @"Number of pages: 43", BOOK_LINK : @"http://www.example.com/file.pdf"}; 
     [booksInformation addObject:book1Dictionary]; 

    ... 

    return [booksInformation copy]; 
    } 

    @end 

    //FYPBooksObject.h 

    #import <Foundation/Foundation.h> 

    @interface FYPBooksObject : NSObject 

    @property (strong, nonatomic) NSString *nameB; 
    @property (strong, nonatomic) NSString *numberOfPagesB; 
    @property (strong, nonatomic) NSString *urlBook; 

    -(id)initWithData:(NSDictionary *)data; 

    @end 

    //FYPBooksObject.m 
     #import "FYPBooksObject.h" 
     #import "BooksData.h" 

     @implementation FYPBooksObject 
     -(id)init { 
      self = [self initWithData:nil]; 
      return self; 
     } 
     -(id)initWithData:(NSDictionary *)data { 
      self = [super init]; 
      self.nameB = data[BOOK_NAME]; 
      self.numberOfPagesB = data[BOOK_NUMBER_OF_PAGES]; 
      self.urlBook = data[BOOK_LINK]; 
      return self; 
     } 

@end 

Пожалуйста, медведь со мной и дать мне полное решение для поиска и отображения результаты для имен книг в одном контроллере табличного представления. И если есть способ сделать онлайн-поиск внутри книг, я буду благодарен ..

+0

Вы должны удалить все эти пустые вызовы делегатов, поскольку они ничего не делают и делают код менее удобочитаемым, заставляет пользователей читать лишние строки, поэтому они помогают вам быстрее. – Vive

ответ

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