zoukankan      html  css  js  c++  java
  • 使用xib创建cell时 bug

    UITableView (<UITableView: 0x15799a800; frame = (0 4797; 375 733); clipsToBounds = YES; tag = 305; gestureRecognizers = <NSArray: 0x1584acda0>; layer = <CALayer: 0x1584ac910>; contentOffset: {0, 0}; contentSize: {375, 1321}>) failed to obtain a cell from its dataSource (<HomePageViewController: 0x157885200>)
    (null)

    原因:cell返回nil;

    1.终于解决了.如果你是storyboard里创建的cell可以直接打标示。如果你是用xib创建的cell直接在xib里打标示是没用的,得在vc里面用代码去打标示。 
    2.
    是因为你的cell被调用的早了。先循环使用了cell,后又创建cell。顺序错了。
    eg:(正确的)
    @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
    {
        UINib * nib;
    }
    @end

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        static NSString * cellIdentifier = @"GameTableViewCell";
        
        if (nib == nil) {
            nib = [UINib nibWithNibName:@"GameTableViewCell" bundle:nil];
            [tableView registerNib:nib forCellReuseIdentifier:cellIdentifier];
            NSLog(@"我是从nib过来的");
        }
        GameTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
        return cell;




  • 相关阅读:
    5.1、字符串插入
    2.2、部署 Discuz!
    7.1.5、测试数组
    4.2、php 注释
    5.2、操作符
    2.3、初始化 Discuz!
    5.3、控制结构
    gradle 又一项目构建工具
    1.1、概述
    7.1.8、通过追加数组的方式创建数组
  • 原文地址:https://www.cnblogs.com/worldtraveler/p/5809283.html
Copyright © 2011-2022 走看看