У меня есть uitableview, а не uitableview контроллер. И я хочу загрузить URL внутри uitableview - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть uitableview, а не контроллер uitableview. И я хочу загрузить url внутри uitableview, но метод viewdidload не работает в методе uitableview. Как я могу загрузить URL в файле uitableview

.m

#import "HHContentTableView.h"
#import "MyCustomCell.h"

@interface HHContentTableView ()<UITableViewDataSource, UITableViewDelegate>

@end

@implementation HHContentTableView

+ (HHContentTableView *)contentTableView
{
    HHContentTableView *contentTV = [[HHContentTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
    contentTV.backgroundColor = [UIColor clearColor];
    contentTV.dataSource = contentTV;
    contentTV.delegate = contentTV;
     [contentTV registerNib:[UINib nibWithNibName:@"MyCustomCell" bundle:nil] forCellReuseIdentifier:@"myCell"];

    return contentTV;
}

#pragma mark - UITableViewDataSource

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    MyCustomCell * cell = [tableView dequeueReusableCellWithIdentifier:@"myCell"];
    if (!cell)
    {
        [tableView registerNib:[UINib nibWithNibName:@"MyCustomCell" bundle:nil] forCellReuseIdentifier:@"myCell"];
        cell = [tableView dequeueReusableCellWithIdentifier:@"myCell"];
    }

    return cell;
}

- (void)tableView:(UITableView *)tableView willDisplayCell:(MyCustomCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{

    cell.leftLabel.text = [NSString stringWithFormat:@"%@",@(indexPath.row)];
    cell.rightLabel.text = [NSString stringWithFormat:@"%@",@(indexPath.row)];
    cell.middleLabel.text = [NSString stringWithFormat:@"%@",@(indexPath.row)];
}

.h файл

#import <UIKit/UIKit.h>

@interface HHContentTableView : UITableView

+ (HHContentTableView *)contentTableView;

@end

См. Пример проекта HHHorizontPagingView, чтобы понять больше.

1 Ответ

0 голосов
/ 10 апреля 2019

Ты не должен.UITableView является компонентом пользовательского интерфейса, поэтому он в основном не должен иметь дело с загрузкой URL.

Но если вы настаиваете, вы можете сделать это внутри любого метода делегата, который вы реализуете там.

Вытакже может предоставить какой-то метод извне, который сделает это.

Но правильным способом будет загрузить URL-адрес за пределы вашего TableView и передать ему результаты.Например, вы можете сделать то же самое ViewController, которое инициализирует TableView.

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