проблема с обновлением моего значения таблицы до подробного списка меток - PullRequest
0 голосов
/ 24 января 2011

Мое приложение - это навигационная база, у меня есть два Table ViewController, я выбираю данные из второго табличного представления и обновляюсь до метки сведений первого табличного представления.Следующий код, который я пробовал, но не обновляю, я получаю значение secondtableview в методе «Updatetableviewlable», но я не обновляю метод «cellForRowAtIndexPath», где я делаю ошибку…

Ответы [ 2 ]

2 голосов
/ 24 января 2011

В вашем методе Updatetableviewlable: вы присваиваете lable для symptomlabel.В этом случае symptomlabel может не сохранить строку lable.Вы пытаетесь использовать метод Updatetableviewlable: следующим образом.

- (void)Updatetableviewlable:(NSString*)lable {

    symptomlabel = [lable retain];
    NSLog(@"%@", symptomlabel);
}

И убедитесь, что ваш метод cellForRowAtIndexPath: выглядит примерно так.

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

    ...

    UILabel *myLabel;

    if (cell == nil) {

        myLabel = [[UILabel alloc] initWithFrame:CGRectMake(160, 25, 125, 15)];
        myLabel.backgroundColor = [UIColor clearColor];
        myLabel.textColor=[UIColor blueColor];
        myLabel.text = symptomlabel;
        [myLabel setTag:1];
        [cell.contentView addSubview:myLabel];
        [myLabel release];

    } else {

        myLabel = [[cell contentView] viewWithTag:1];
        myLabel.text = symptomlabel;
    }

    ...
}

Добавьте также убедитесь, что вы перезагружаете табличное представление в методе viewWillAppear: вашего First.m.

- (void)viewWillAppear:(BOOL)animated { 

    [[self tableView] reloadData]; 
}
0 голосов
/ 24 января 2011

Выполните перезагрузку данных в табличном представлении.Это снова вызовет ваш cellForRowAtIndexPath.

В вашем установщике добавьте [self.tableView reloadData];

Edit:

1.Вы должны выпустить свой лейбл.

2.Другая проблема - вы можете добавить много меток в свои ячейки, когда будете использовать их повторно.Уничтожьте ваш подкласс UITableViewCell и сделайте там свой собственный макет.Это улучшит производительность прокрутки на медленных устройствах, таких как iPhone 3G.Попробуйте в вашем cellForRowAtIndexPath не размещать и не инициализировать объекты и не выполнять вычислительный код (for (), while ()).Это значительно улучшит вашу производительность прокрутки.

Редактировать 2:

Вы должны установить на свою собственность (копию) или (сохранить) @property (nonatomic,retain) NSString *symptomlabel;

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