• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > 使用storyboard建立tableview运行时代码运行了三次是什么情况?

使用storyboard建立tableview运行时代码运行了三次是什么情况?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了storyboard,storyboard quick,storyboard是什么意思,toon boom storyboard,storyboard pro等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 使用storyboard建立tableview运行时代码运行了三次是什么情况?
描述:

import UIKit

class TaskListController: UITableViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    // MARK: - Table view data source

    override func numberOfSections(in tableView: UITableView) -> Int {
       
        return 1
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    
        print("Test")
        return 0
    }
}


解决方案1:

iOS 10.1 测试运行了 5 次……
感觉没必要纠结在此,TableView 从初始化到出现在屏幕上,当中经历了一系列的过程我们并不清楚,而且只获取一次应该也是不够的,苹果应该也不会把此值存下来。
打断点调用堆栈中也没看出啥…… 我的理解是 table 每次需要的时候向 delegate 要就行了,也没啥性能影响。要想刨根问底,估计只能去看源码了……

解决方案2:

这段代码是 你的tableview load 几次就执行几次。设置datasource 的时候执行一次,之后 每load 都会执行一次

override func numberOfSections(in tableView: UITableView) -> Int {
       
        return 1
    }

下面这个代码的执行次数取决于你的 section 数目。你有几次section 就会执行几次,并且每次 load 之后;它都会根据你当前tableview 的section 数目 进行加载。

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    
        print("Test")
        return 0
    }

以上就是代码运行次数的逻辑。
你的问题。理论上来说,一般是你 的 stroyboard 上面有数据。即便是没有数据,它也会运行一次(有数据则会运行多次)这是由于默认的datasource指针引起的。 再到代码中,你设置了 datasource ,它自然会reload。所以就执行了多次。iOS开发,仍然建议纯代码。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • storyboardiOS中storyboard的问题
  • 使用storyboard建立tableview运行时代码运行了三次是什么情况?
  • storyboard页面跳转到代码页面,UINavigationController在代码页面没有成功显示
  • (swift)storyboard中TableViewController无法调用自定义类
  • storyboard中tableheaderview的自适应高度问题
  • (swift)在storyboard中,TableVC跳转到一个VC,这样可行吗?
  • storyboardstoryboard页面跳转和传值
  • storyboard约束出错导致textfileld位置移动,如何根据以下报错信息排查问题位置

相关文章

  • 2017-06-05 设置UILabel的alpha属性后,如何让该lable上文字的透明度不变?
  • 2017-06-05 iOSUIWebView加载本地图片中的baseURL是什么?如何获得?
  • 2017-06-05 appstore应用上线后,从APPSTORE下载很慢
  • 2017-06-05 (swift)addAttribute不起作用
  • 2017-06-05 苹果mac笔记本(swift)没有苹果Mac电脑怎么上传APP?
  • 2017-06-05 搜索附近的人iOS搜索附近的人功能怎么做?
  • 2017-06-05 iOS开发,使用YYModel,在iOS9上没问题,在iOS8上奔溃
  • 2017-06-05 苹果ios系统iOS系统分享的那些坑
  • 2017-06-05 迷你蓝牙音箱iOS蓝牙音箱音量怎么调节
  • 2017-06-05 (swift)iOS,APP版本更新

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 新建viewController的时候自带的xib,代码打印宽高,为什么和界面实际显示不一样?
    • App实现http长连接技术上可行吗?有必要吗?有哪些优缺点?
    • 什么时候看到的月亮最大xib看不到布局
    • 显示web页面
    • 快用苹果助手怎么用iOSweex怎么用?
    • ios写日历时collectionview的cell的复用问题
    • iOSoccollectioview的headerview为什么会和navbar出现一段距离?
    • 悬赏RMB100求解决如何让两个重叠的view同时响应touch事件
    • AVPlayer播放网络声音很慢
    • 求问app关闭时,收到消息后badge递增的实现

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有