zoukankan      html  css  js  c++  java
  • UITableView学习之辨析两个方法:⓵dequeueReusableCellWithIdentifier与⓶dequeueReusableCellWithIdentifier:forIndexPath:

    使用storyboard显示UITableView时,
    如果不修改系统默认生成的
    tableView:cellForRowAtIndexPath:方法中的代码,
    必须为UITableViewCell注册(填写)重用标识符:identifier.
    必须要代码方法中的标识符一致.
    然后,就可以省略代码设置标识符的方法:
    (也就是那三行if语句)
    如下所示:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    static NSString *CellIdentifier = @"myCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    // if (nil == cell) {
    // cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    // }
    //...
    return cell;
    }

    使用Storyboard建立的UITabeViewController,如果其中的Cell是已经注册过的//    static NSString *ID = @"Cell";    永远都会找到一个单元格,如果缓冲池中没有,会自动新建       dequeueReusableCellWithIdentifier 直接查询可重用单元格     dequeueReusableCellWithIdentifier:forIndexPath: 查询“注册的”可重用单元格,此方法中indexPath本身没有用处             强制判断是否注册了单元格          如果已经注册过单元格,以上两个方法等效。          如果在StoryBoard中指定了单元格的可重用标示符,单元格的优化将有系统接管,不再需要判断cell == nil    
    注释:注册Cell有两种方式:⓵图形界面,直接在storyboard的属性栏中代码⓶代码,代码使用一个以regist开头的注册方法.
    实例化UITableViewCell有两种组合方案:㊀未注册+if+ dequeueReusableCellWithIdentifier:㊁注册+ dequeueReusableCellWithIdentifier:forIndexPath:㊂注册+ dequeueReusableCellWithIdentifier:
    ㊀中注意点:何为未注册?(何时必须写if语句?)#解答#两种情况>1如果在storyboard中创建了UITableView但并没有拖拽UITableViewCell(则必须写if)>2未使用storyboard
    (xib同理)


    作者:
    出处:http://www.cnblogs.com/ChenYilong/(点击RSS订阅)
    本文版权归作者和博客园共有,欢迎转载,
    但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    .NET中非对称加密RSA算法的密钥保存
    WGS84经纬度坐标到北京54高斯投影坐标的转换[转]
    [APPS] HTC Footprints & HTC Locations for MikG 2.x Read more:
    firefox+ssh无法看youtube视频的解决方案
    【转】sdemon命令实践
    How to share a custom ArcMap command (DLL)
    【转】sdemon命令实践
    红旗桌面版本最新运用法子和结果解答100例8
    红旗Linux桌面4.1文本安装过程图解(二)
    Ubuntu把在效能器范畴起更重要的脚色
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/3489938.html
Copyright © 2011-2022 走看看