2014-09-25 2 views
0

У меня есть UITableview с пользовательским UITableviewCell который имеет 2 текстовых поля. У меня есть кнопка, которая добавляет новые ячейки в эту таблицу. Изначально у меня есть 3 клетки, то я добавляю и добавляю, и когда я добавить шестую (6-е) клетки он выходит из строя говоря ячейка пуста, когда я итерацию над ним, как это:UITableviewcells становятся нулевыми после третьего добавления

NSMutableArray *cells = [[NSMutableArray alloc] init]; 
for (NSInteger j = 0; j < [shtoFushaTableView numberOfSections]; ++j) 
{ 
    for (NSInteger i = 0; i < [shtoFushaTableView numberOfRowsInSection:j]; ++i) 
    { 
     NSLog(@"%@", [shtoFushaTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]]); 
     [cells addObject:[shtoFushaTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]]]; //this is where i get an exception to add a null object 
    } 
} 

Смысл этой итерации является сохраните значения текстовых полей перед добавлением нового. Любая идея, что я делаю неправильно?

+0

Почему бы вам просто не сохранить текст ... нет необходимости хранить все ячейки. Это очень плохая практика, которая заставит вас исчерпать память. – borrrden

+0

Я сохраняю текст после этого цикла следующим образом: 'для ячейки (ShtoFushaTableViewCell *) в ячейках) { [attributeValues ​​replaceObjectAtIndex: k withObject: cell.listingValue.text]; k ++; } ' – Elgert

+0

Я не вижу причин для хранения таких ячеек ... точкой источника данных является выделение ячеек из их источника данных. В любом случае это может быть связано с тем, что эта ячейка в данный момент отключена. – borrrden

ответ

0

Проблема, вероятно, заключается в повторном использовании ячеек таблицы:
Когда они прокручиваются из поля зрения, они помещаются обратно в пул ячеек, и все данные в ячейках могут исчезнуть.
По этой причине вы должны никогда хранить что-либо в виде таблицы, за исключением отображения.
Вы должны хранить свои данные в модели данных и читать их оттуда для отображения в ячейках.

+0

У меня есть NSMutableArray со строками в каждом текстовом поле, проблема в том, что при добавлении новой ячейки я должен помнить, какие текстовые поля были заполнены, чтобы они не пустели. – Elgert

+0

Теперь я понимаю, почему его плохая практика, угадайте, что я все еще сонный , Теперь я сохраняю текстовые значения для моего делегата didEndEditing текстовых полей :) – Elgert

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