UItableViewCell应用 实现上拉还原数据, 下拉更新数据

本文介绍了一个使用UITableView展示数据的iOS应用示例。通过实现UITableViewDataSource和UITableViewDelegate协议,该示例展示了如何加载数据到表格视图中,并实现了下拉刷新和上拉加载更多的功能。

@interface MainViewController ()<UITableViewDataSource, UITableViewDelegate>


@property (nonatomic, retain)UITableView *table;

@property (nonatomic, retain)NSMutableArray *array;

@property (nonatomic, retain) NSMutableArray *tableMoreData;


@end



- (void)dealloc

{

    [_table release];

    [super dealloc];

}


- (void)viewDidLoad

{

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    

    _array = [[NSMutableArray alloc] initWithObjects:

                 @"A",@"B",@"C",@"D",@"E",@"F",

              @"G",@"H",@"J",@"K",@"L",@"M",nil];

    _tableMoreData = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3",@"4",nil];

    

    self.table = [[UITableView alloc] initWithFrame:(CGRectMake(0, 0, 320, 480)) style:(UITableViewStylePlain)];

    _table.delegate = self;

    _table.dataSource = self;

    [self.view addSubview:self.table];

    [_table release];

   

}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

    return self.array.count;

}


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

{

    NSString *str = @"kzss";

    MyCell *cell = [tableView dequeueReusableCellWithIdentifier:str];

    if (nil == cell) {

        cell = [[[MyCell alloc] initWithStyle:(UITableViewCellStyleSubtitle) reuseIdentifier:str] autorelease];

    }

   cell.textLabel.text = [self.array objectAtIndex:indexPath.row];

    return cell;

    

}


- (void)scrollViewDidScroll:(UIScrollView *)aScrollView {

//    CGPoint offset = aScrollView.contentOffset;

//     NSLog(@"offset: %f", offset.y);


    

    


    if (_table.contentOffset.y == -64) {

        _array = [[NSMutableArray alloc] initWithObjects:

                  @"A",@"B",@"C",@"D",@"E",@"F",

                  @"G",@"H",@"J",@"K",@"L",@"M",nil];

       [[self table] reloadData];

    }

    if(!_loadingMore && aScrollView.contentOffset.y > ((aScrollView.contentSize.height - aScrollView.frame.size.height))){

    

        for (int x = 0; x < [_tableMoreData count]; x++)

                   {

               [_array addObject:[_tableMoreData objectAtIndex:x]];

              }

    

 [[self table] reloadData];

    }

}



「LLM那些事」系列第 4 篇《上下文窗口的边界》,文章连接:https://blog.csdn.net/houwenjin/article/details/163999753。 演示什么:在「预测」Sheet 的黄色格子里输入一句话(默认「来泡一杯」),四个「模型」——分别只统计最后 1 / 2 / 3 / 4 个字的 n-gram 查表——同时预测下一个字。同一个输入,看的上下文越长,候选越少、预测越确定: ┌────────────────┬──────────┬───────────────┬──────┐ │ 只看最后几个字 │ 用的前缀 │ 候选下一字数 │ 预测 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 1 个 │ 杯 │ 3(茶/子/水) │ 模糊 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 2 个 │ 一杯 │ 2(茶/水) │ 收窄 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 3 个 │ 泡一杯 │ 1(茶) │ 确定 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 4 个 │ 来泡一杯 │ 1(茶) │ 确定 │ └────────────────┴──────────┴───────────────┴──────┘
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值