Suchen mit CoreData

Tim Roadley hat eine Artikelserie zu Core Data Basics veröffentlicht. Für alle die sich noch nicht mit entsprechender Literatur versorgt haben und einen Weg suchen sich der Objektdatenbank zu nähern, ist das ein gut strukturierter Kurs in das Thema zu kommen.

Ein interessanter Aspekt ist die Integration einer Suche, der im Teil 7 beschrieben wird.

Interessant ist das deshalb, weil durch den UISearchbarController eine zusätzliche Tabellenansicht integriert wird. Diese muss natürlich ebenfalls mit einer Datenquelle verbunden werden und bei einer Storyboard gestützten Tabellenzelle muss dafür gesorgt werden, dass auch für die Suchtabelle eine UITableViewCell erzeugt wird.

Welche Änderungen sind also in RolesTVC.m erforderlich?

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
...
}
Die Datenquelle für die Suchtabelle ist ein NSMutableArray, das in der Methode filterContentsForSearchText:scope: gefüllt wird. Zu beachten ist, dass der CoreDataTableViewController aus der iPhone Klasse CS193p der Stanford University verwendet wird. In diesem sind bereits die Methoden für die Aktualisierung der NSFetchResultsController implementiert, so dass für die Suche nur die TableView des UISearchbarControllers zu aktualisieren ist.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.