Я много читал о новом 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
Пожалуйста, медведь со мной и дать мне полное решение для поиска и отображения результаты для имен книг в одном контроллере табличного представления. И если есть способ сделать онлайн-поиск внутри книг, я буду благодарен ..
Вы должны удалить все эти пустые вызовы делегатов, поскольку они ничего не делают и делают код менее удобочитаемым, заставляет пользователей читать лишние строки, поэтому они помогают вам быстрее. – Vive