2014-02-15 6 views
1

Я пытаюсь создать табличное представление без повторного использования ячеек.Проблема в UITableView без повторного использования ячеек

В

- (UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

static NSString *CellIdentifier = @"Cell"; 
cell = [[SignUpUserCell alloc] initWithStyle:UITableViewCellStyleDefault 
            reuseIdentifier:CellIdentifier]; 
cell.delegate = self; 
return cell; 

} 

Однако это не загружает свои собственные клетки. но когда я добавляю dequeReusableCellWithIdentifier: он отлично работает. Однако я не хочу использовать ядро ​​повторно.

- (UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    SignUpUserCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 

    if (!cell) { 
     cell = [[SignUpUserCell alloc] initWithStyle:UITableViewCellStyleDefault 
            reuseIdentifier:CellIdentifier]; 
    } 
    cell.keyLabel.text = [parameterDictionary objectForKey:@"secondLabel"]; 
    cell.textField.text = [parameterDictionary objectForKey:@"secondField"]; 

    // and some more elements 

    cell.delegate = self; 
    return cell; 
} 

Как правильно создать табличное представление с неиспользуемыми табличными ячейками. Что я здесь делаю неправильно?

+3

почему не использовать многоразовые клетки, которые настоятельно рекомендуется и мощные. – limon

+0

Ваш первый блок кода фактически не компилируется, потому что 'cell' не определен. Так что я догадываюсь, что у вас там нет. Для чего это стоит, я смог заставить его работать, объявив «cell» в моем образце проекта, но вы должны повторно использовать ячейки, если это возможно. – ansible

+0

То, что вы делаете неправильно, это «не делать то, что Apple хочет, чтобы вы делали». В мире Apple это смертельная ошибка. Хотя вы можете добиться успеха, иногда, реальное решение заключается в том, чтобы следить за документацией Apple и рекомендуемыми методами. – Kheldar

ответ

1

Вы уверены, что это код, который вы действительно используете?

- (UITableViewCell *)tableView:(UITableView *)tableView 
    cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

static NSString *CellIdentifier = @"Cell"; 
cell = [[SignUpUserCell alloc] initWithStyle:UITableViewCellStyleDefault 
           reuseIdentifier:CellIdentifier]; 
cell.delegate = self; 
return cell; 

    } 

Причина я прошу вас не определить, что cell есть should't код будет это ...

- (UITableViewCell *)tableView:(UITableView *)tableView 
    cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

static NSString *CellIdentifier = @"Cell"; 
SignUpUserCell * cell = [[SignUpUserCell alloc] initWithStyle:UITableViewCellStyleDefault 
           reuseIdentifier:CellIdentifier]; 
cell.delegate = self; 
return cell; 

    } 
+0

На самом деле извините за мою ошибку. Я правильно объявил ячейку SignUpUserCell * в своем коде. Так что, по-вашему, проблема? Мой код такой же, как и исправленный код, добавленный здесь, и это не просто ячейка. – shah1988

+0

Как выглядит ваш 'SignUpUserCell'? Вы определяете это в колене? – Flexicoder

+0

Нет, я использую рассказ. – shah1988

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