8
Я тестирую в первый раз на реальном устройстве, и после устранения некоторых очевидных проблем с производительностью я застрял в том, как делать плавную прокрутку.Как решить медленную прокрутку в UITableView
Это то, что я делаю:
- Данные в SQLite
- У меня есть небольшой массив с заголовком
- У меня есть в каждом массиве заголовка списка идентификаторов из Db
eg
Абонент A Ids = 1,2; Заголовок B Идентификаторов = 3,4
- Я ленивая нагрузкой клеткой & объект, чтобы получить данные
- Всего лишь 10 экземпляров загружаются в то время
- Загрузка является быстрой, только прокрутками является проблемой
Это код на нагрузке клетки:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"ProductCell";
ProductCell *cell = (ProductCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ProductCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
// Set up the cell...
Product *p = [self locateRecord:indexPath];
cell.nameLabel.text = [p.name capitalizedString];
cell.codeLabel.text = p.ref;
if ([self.selectedProducts objectForKey:[NSNumber numberWithInt:p.Id]]) {
OrderDetail *d = [self findDetail:p];
cell.qty.text = [NSString stringWithFormat:@"%ld",[d.qty integerValue]];
}
return cell;
}
- (id) locateRecord:(NSIndexPath *)indexPath {
NSNumber *theId;
NSUInteger pos = [indexPath row];
id o;
if (self.results) {
theId = [self.results objectAtIndex:pos];
} else {
NSString *key = [[self.index objectAtIndex:[indexPath section]] objectAtIndex:0];
NSArray *data = [self.cache objectForKey:key];
theId = [data objectAtIndex:pos];
}
Db *db= [Db currentDb];
o = [db loadById:[self returnItemClass] theId:[theId intValue]];
return o;
}
Так это значит, что не представляет никакой не строитель использовать интерфейс для компоновки ячейки? – mamcx
Если вы хотите, чтобы скорость передачи данных была такой же, как и у вас, будьте моим гостем. Если вы хотите, чтобы ваши таблицы прокручивались, как масло, тогда сделайте свой собственный рисунок. =) –
Я знаю, это звучит страшно, но это совсем не сложно. –