Отправка данных в UITableViewCell - данные не будут отправлены - PullRequest
0 голосов
/ 23 мая 2019

Каждый раз, когда я пытаюсь отправить массив в эту пользовательскую ячейку табличного представления, массив не отправляется (как видно из array.count = 0, тогда как должно быть 9).

Вот мой cell.h:

@interface Scell : UITableViewCell

...
@property (nonatomic, strong) NSMutableArray *lineInfo;

@end

cell.m

@implementation Scell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

    if (self)
    {
        self.lineInfo = [[NSMutableArray alloc]init];

        //set up labels here, etc.

        NSLog(@"Lines count: %li", self.lineInfo.count);
    }

    return self;
}

И вот здесь я пытаюсь отправить данные.

setup.m:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //Make cell 
    Scell *cell = (Scell *)[tableView dequeueReusableCellWithIdentifier:@"sCell" forIndexPath:indexPath];

    object *temp = [self.array objectAtIndex:indexPath.row];

    //labels, etc.

    NSLog(@"count: %li", temp.lineInfo.count);
    cell.lineInfo = temp.lineInfo;
    return cell;
}

Есть идеи, почему он не отправляет? NSLog в файле setup.m отображает 9, а в Scell ​​- 0.

1 Ответ

0 голосов
/ 23 мая 2019

В cell.m счетчик строк будет напечатан при инициализации ячейки, поэтому в этот момент в этом массиве нет значений, поэтому он печатает ноль.

Из cellForRowAtIndexPath в setup.mlineInfo для temp присваивается свойству lineInfo ячейки.Поэтому из-за этого cellForRowAtIndexPath печатает правильный счетчик, а initWithStyle отображает 0.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...