Прежде всего, я новичок в этом, так что извините за любой мой самый простой вопрос.Я пытаюсь просмотреть данные и отфильтровать их, что очень распространено.Поэтому я использую разные учебники.Сначала я загрузил данные из своей базы данных SQLite,Затем я использовал пользовательские учебники для ячеек и настроил их.Но я застрял в UISearchBar.Учебник, которому я следовал, использует NSArray для заполнения таблицы, которая объявлена в коде.Поскольку мои методы SQLite получают данные из базы данных в массив, я подумал, что если я скопирую этот массив в массив в методах фильтрации, это сработает.Но это не так.Вот код с пояснениями:
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
if ([searchText length] == 0) {
[displayItems removeAllObjects];
[displayItems addObjectsFromArray:allItems];
} else {
[displayItems removeAllObjects];
for (NSString *string in allItems) {
NSRange r = [string rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (r.location != NSNotFound) {
[displayItems addObject:string];
}
}
}
[tableViewScreen reloadData];
}
Приведенный выше код предназначен для фильтрации, и я попытался скопировать массив, использованный для заполнения таблицы, в массив allItems следующим образом:
MyProjectAppDelegate *appDelegate = (MyProjectAppDelegate *)[[UIApplication sharedApplication] delegate];
allItems = appDelegate.mySqliteArray;
Или вот так:
allItems = [[NSArray alloc] initWithArray:appDelegate.mySqliteArray];
Но никто из них не работал.Я хотел бы снова указать на мою проблему,У меня есть метод, который получает данные в массив в классе AppDelegate, и в моем классе TableView я хочу скопировать этот массив в другой.PS mySqliteArray является изменяемым массивом, а массив allItems - нет.Кроме того, мои ячейки создаются пользовательским классом ячеек, и в каждой строке по 2 метки.