首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在swift uiTableView中调用reloadData()后,旧项目保留,新项目不显示

在Swift中,UITableView是一种用于显示和管理大量数据的视图控件。当我们调用reloadData()方法时,它会重新加载并刷新UITableView的数据源,以便显示最新的数据。

根据你提供的问题,旧项目保留但新项目不显示的情况可能有以下几种原因:

  1. 数据源问题:确保你的新项目的数据源已正确设置,并且包含了需要显示的数据。可以通过在调用reloadData()之前打印数据源的内容来进行检查。
  2. 协议和代理问题:UITableView需要正确的实现UITableViewDataSource和UITableViewDelegate协议方法来提供数据和处理交互。确保你的新项目中已正确实现这些协议方法,并将UITableView的dataSource和delegate属性设置为相应的对象。
  3. 刷新时机问题:在调用reloadData()之前,确保你的新项目的数据已经更新。如果数据没有更新,调用reloadData()将不会有任何效果。可以在更新数据后再调用reloadData()方法。
  4. UI更新问题:如果你的新项目的UI没有正确更新,可能是因为在调用reloadData()之后没有正确刷新UI。可以尝试在调用reloadData()之后调用tableView的setNeedsLayout()和layoutIfNeeded()方法来强制刷新UI。

总结起来,解决旧项目保留但新项目不显示的问题,需要确保数据源正确设置、协议和代理方法正确实现、数据已更新以及UI正确刷新。如果问题仍然存在,可能需要进一步检查代码逻辑和调试。

对于Swift开发中的UITableView,腾讯云并没有直接相关的产品或服务。但腾讯云提供了丰富的云计算服务,如云服务器、云数据库、云存储等,可以帮助开发者构建和部署应用程序。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS混淆探索

;不是UITableView的子类是可以改的 属性:@property (readonly) NSUInteger length;如果不是NSString的子类也是可以改的 通用部分 项目配置,只要选择项目路径...,告别“垃圾代码”,优势: 根据方法的返回值类型,分类创建相应的方法。...,识别宏 UI布局偏移,支持Frame、Mansonry、SDAutoLayout常见布局微调 插入文件,生成其它文件(封装网络请求,创建自定义控件,模拟正常开发),项目中自动调用;注意:(项目根路径下...可切换模式 前缀设置 可设置‘重命名同名文件’ Cocos2d-x 该部分功能整合至C++,支持cocos2dx自动过滤 Swift 适配Swift5.3,SPM包管理项目暂未测试 重命名属性,基本功能...和OC混合项目,OC和Swift相互调用的部分需要手动加入黑名单,后续将优化。

1.7K31
  • iOS怎样创建可展开的Table View?(下)

    接上篇:iOS怎样创建可展开的Table View?...如果你现在运行app,你将会看到当选中一个喜欢的运动或颜色,app的响应. ?...响应其他用户操作 CustomCell.swift文件,你可以发现CustomCellDelegate协议的所需的代理方法都已经被声明.通过ViewController类里实现它们我们需要设法让app...tableView的方法,主要的特点就是一个plist文件,所有cell的描述都使用具体的属性.我向你展示了当cell显示,打开或是选中的时候,如何使用代码处理cell的描述列表;此外,我给了你一个方法通过用户输入数据来直接更新它....尽管这个示例app的表单是假的,但是也是可以存在真实的app的.它代表一个完整组件之前,仍然有很多事情需要做.

    1.5K30

    教你写个多表视图

    因为这边只是个 Demo,所以我直接在 cell 显示cellData的值,那cellData 的值在哪里设置呢?...显然是HomeContainerViewController: let tableViewDataList = ["first table", "second table", "third table...这边 cell 是会被复用的,翻到第三页时,会复用第一页的 cell ,第四页复用第二页的 cell……依此类推,所以需要给 cell 的tableView调用 reloadData方法,不然就算改变了表的数据...,也不能正确的显示(奇数页都显示第一页的数据,偶数页都显示第二页的数据)。...这样就完成了一个多表视图,实际项目一般会在 table 上方放个小滑块指示器什么的,也很简单,只要在cellForItemAtIndexPath方法根据indexPath.section来设置滑块位置就好了

    1.3K30

    deleteSections & deleteRows 我踩的坑

    要是你再这样回调这个index做操作,然后删除数组元素的某一位置的元素,保证和剩下的section个数是一样的,但是刷新TableView ,会发生什么呢?...找一个方法解决 ---- 找一个办法解决这个问题,我们前面有说要是reloaddata一次就解决问题了,那我们reloaddata最重要的操作或者目的是什么呢?...oc也是指针),并没有重新赋值,这时候我们就可以 model 里面写一个 IndexPath 进去,然后每一次删除完之后我们自己操作在数据源重新排列这个model的indexPath ,删除点击回调的时候直接回调这个...model ,选择删除的时候我们也删除从model获取到的idnex不就解决了我们的问题了嘛!...代码其实也很简单,简单到不值得我们写出了。下面是我们自己项目中我执行这一段逻辑自己的代码,帮助理清上面说的思路。

    1.9K30

    客户端骨架屏详解

    一直以来,无论是Web还是iOS、Android的应用,为了提升应用的加载等待这段时间的用户感知体验,各种技术层出穷。其中,尤以菊花图以及由它衍生各种加载动画最为突出。...所谓Skeleton Screen Loading,即表示页面完全渲染完成之前,用户会看到一个占位的样式,用以描绘了当前页面的大致框架,加载完成,最终骨架屏各个占位部分将被真实的数据替换。...对于想要显示占位效果的View,需实现协议,协议方法返回SomoView列表。将这些SomoView添加到somoContainer,并显示。...= TABViewAnimationEnd; [_headView initWithData:headGame]; 示例源码链接:iOS骨架屏示例 Android Android,骨架屏的实现也很多的第三方框架...,等待页面加载渲染完成之后,保留页面布局样式的前提下,通过对页面中元素进行删减或增添,对已有元素通过层叠样式进行覆盖,这样达到不改变页面布局下,隐藏图片和文字,通过样式覆盖,使得其展示为灰色块。

    4K10

    iOS开发笔记(十一)— UITableView、ARC、xcconfig、Push

    正文 UITableView UITableViewreloadData 的时候,如果height的高度发生较大变化,contentOffset无法保持原来的大小时,会发生滚动的效果。...如果需要去除该滚动效果,可以reloadData之后,调用scrollToRowAtIndexPath并设置animated:NO,最后再用setContentOffset:微调位置。...同理,如果需要在reloadData,手动scroll到header时,可用同上的解决方案。...手动配置项 知道上面的关系,我们可以解决使用xcconifg时,CI 打包xcconifg配置项生效的问题: 检查是否对应配置项是否target的build setting中直接添加; 如果需要新增某个...总结 这些都是项目中遇到的一些问题,UITableView这个是老生常谈,ARC那篇文档是很好的学习资料,xcconfig需要多研究,未来随着版本和渠道增多会越来越复杂,PushEasy APNs

    1.8K20

    窥探Swift之协议(Protocol)和委托代理(Delegate)回调的使用

    说到协议,Objective-C也是有协议的,并且Swift的协议和Objc的协议使用起来也是大同小异的,Java等现代面向对象编程语言中有接口(Interface)的概念,其实和Swift或者...一.从UITableView来窥探协议的委托代理回调     UITableView这个高级控件iOS开发的出镜率是比较高的,今天的重点不是介绍如何使用UITableView, 而是让通过UITableView...上显示的数据了,正常开放这些数据往往来源于网络请求,而在本篇博客中就模拟数据源,来为我们的TableView提供显示的数据。...我们UIViewController上贴了一层UITableView, 所以我们需要在相应的ViewController对应的Swift源码中进行UITableView的绑定,并实现UITableViewDatasource...这个协议可以定义EditViewController.swift源文件协议定义之前,先对什么是协议简单的提上一嘴。

    3.5K80

    Swift-MVVM 简单演练(一)

    底部TabBar隐藏/显示问题 Push 出控制器,底部 TabBar 隐藏/显示问题 导航控制器的基类里面重写一下push方法 判断如果不是根控制器,那么push的时候就隐藏BottomBar...reloadData() } } ---- 未登录视图显示(访客视图) 现实中经常会遇到一些临时增加的需求,比如登录显示的是一种视图,未登录又显示另外一种视图,如果你的公司是面向公司内部的APP...登录之后才显示别的,因此,我们可以将HQBaseViewController的setupUI方法设置成fileprivate不让外界访问到,并且将setupTableView设置成外界可以访问,如果需要在登录的控制器里面显示所需的样式...即闭包在函数执行完以后被调用了,调用的地方超过了request函数的范围,这种闭包叫做逃逸闭包。 swift 3.0对闭包做了改变,默认请款下都是非逃逸闭包,不再需要@noescape修饰。...reloadData() } } tableViewDataSource中直接调用HQStatusListViewModel数据即可 override func tableView(_ tableView

    10.3K51

    一款功能齐全的iOS混淆工具介绍及功能详解

    工具的主要功能OC、C++、Swift已封装成Mac应用,其他功能还在封装,敬请期待。...事物都有两面性,功能越强大混淆耗时越长,如果你的项目很大,混淆几个小时也是有可能的,请不要见怪,后续持续优化。...正常项目(或者第三方库)混淆完基本不报错(除了一些个别语法不严谨造成混淆报错)也欢迎大家使用不同工具混淆测试工程confuse_test或者第三方开源库项目,对比效果。...[修改字符串],支持任意字符串,加密处理(硬编码->内存),原始字符串保留在注释中方便检查设置‘最少长度’过滤也可设置‘有效个数’搭配使用[重命名类],支持模板等类型可切换模式前缀设置可设置‘重命名同名文件...’Cocos2d-x该部分功能整合至C++,支持cocos2dx自动过滤Swift适配Swift5.3,SPM包管理项目暂未测试新增Swift[重命名图片],智能名词替换,自动纠正图片名和xcassets

    17510

    Swift 网络请求数据与解析

    一: Swift 网络数据请求与处理最常用第三方  又有时间出来装天才了,还是在学swift,从中又发现一些问题,这两天上网找博客看问题弄的真的心都累。...博客一篇写出来,好多就直接照抄,就没有实质性的把问题解决了,只是发表的博客数量上 + 1 !!真心没意思。。    ...看看在Swift怎样请求数据,解析数据加载图片这些的,也使我们最基本最常见的用法了,先说说这几个三方库:      第一个: Alamofire  (它的原作者就是AFNetworking的原作者...导入的过程,一定要注意你自己工程的最低版本要求和三方库的最高版本要求之间的差异,这个很容易忽略导致错误!我把自己的 cocoapods 的终端输入命令展示出来,确保是没问题,可行的!...我写的例子项目最低版本是 8.0 。 platform :ios, '9.0' use_frameworks!

    2.4K80

    iOS开发笔记(八)---- 键盘、静态库、动画、Crash定位

    附: iOS 11还有另外的键盘表现异常:APP呼起键盘,把APP切入后台,系统桌面下滑呼起系统搜索的键盘,会导致APP内的键盘收起。...经过一番调试,把问题的整个原路径给回溯出来: 1.下拉刷新 ==> 2.数据请求 ==> 3.本地数据源更新 ==> 4.1调用reloadData更新视图 3.本地数据源更新 ==> 4.2 下拉刷新结束...问题修复: 修复方案,可以是dispatch到下一个runloop再执行reloadData,这样4.5回调调用visiableCell的时候visiableCell拿到上一次的cell,这样链路会断开...最佳解决方案:不调用visiableCell去获取当前显示的cell,改为监听UITableView的willDisplay和didEndDisplayingCell方法,再用一个双端队列维护一个业务侧的当前可见...通过这个问题,我们可以确定-reloadData方法是把UITableView的可见cell清空; visiableCell是一个getter,调用的时候如果visiableCell是空,会触发cellfor

    1.2K90

    【iOS 开发】tableView updates 对比 reloadData

    鉴于我这里只进行了一次 insert 操作,把这两条语句去掉也没事,但是出于规范还是应该写上,因为假如习惯写,下面这样的代码会运行时崩溃: @IBAction func update(_ sender...总结 numberOfRows 方法调用: 都只调用一次 numberOfRows 方法 cellForRow 方法调用次数: reloadData 会为当前显示的所有cell调用这个方法,updates...只会为新增的cell调用这个方法 cellForRow 方法调用时间: reloadData 会在 numberOfRows 方法调用后的某一时间异步调用 cellForRow 方法,updates...会在 numberOfRows 方法调用后马上调用 cellForRow 方法 reloadData 方法缺陷: 带来额外的不必要开销,缺乏动画 updates 方法缺陷:deleteRows 不会调用...--- 部分文章没有写,总结提到了的部分放在完整 demo 里面了:demo Github 地址

    1.8K30

    你可能需要为你的 APP 适配 iOS 11

    ,动画的操作是观察tableView的contentOffset变化执行的,异常动画发生在tableView reloadData之后,也就是说tableView reloadData之后,tableView...11默认启用Self-Sizing 这个应该是UITableView最大的改变。...测试Demo,创建tableView到显示出来的过程,contentSize的计算过程如下图: ?...和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的,就会造成动画的异常,因为估算行高机制下,contentSize的值是一点点地变化更新的,所有cell显示才是最终的contentSize...我写demo测试的时候,因为每个cell的高度都较小,所以只显示image,然后我增加cell的高度,就可以同时显示image和title了。见下图对比: ?

    1.7K60

    Make WeChat Great Again

    不过新建 Xcode 项目选择 template 时却出现了 iOSOpenDev 哈哈哈哈! 一开始用 insert_dylib 注入 dylib crash,后来用 yololib 就好了!...不过关闭朋友圈,别人依然能看到自己 TimeLine 上新发的内容,但是一旦点击头像进入主页就提示『该朋友暂未开启朋友圈』,奇怪的是回到自己的 TimeLine 上,以前那条新发的内容就消失了。...微信努力保持用户粘性,不得不在用户需求和产品数据之间权衡。好吧,扯远了。。。 我只保留了这俩『活儿好不粘人』的工具类入口: ? 其实扫一扫页面可以通过右上角加号更快进入,也可以去掉。...直接 remove 的好处是可以保留聊天页面的小红点提醒,而其他页面的小红点被隐藏了。我猜原因是聊天页面的小红点在添加上去后会设置下 hidden = NO,因为 cell 是重用的。...撤回消息时会先调用 -[CMessageMgr onRevokeMsg:] 方法,然后调用 -[CMessageMgr DelMsg:MsgList: DelAll:] 方法删除消息。

    2.4K80

    iOS开发之多表视图滑动切换示例(仿头条客户端)---优化篇

    今天的博客要做两个优化。第一:多个TableView的内存问题。第二:头部多个按钮的显示问题。...一、多张表视图的内存问题解决方案     借鉴TableViewCell的重用机制,我们就把之前的DemoScrollView上的TableView进行复用,我的博客中用的是两个TableView...我个人采取的是改变TableViewScrollView上的Frame, 并且刷新相应的TableView, 下面的代码是把TableView移动到当前显示页数,并且刷新TableView上的数据。...]; 10 }   上面的方法在那调用呢?...希望大家只是“吐槽"和提出一些问题,我期待和大家交流和学习的是一些问题更好的解决方案。 二、头部按钮达到一定数量时,布局的显示方案。

    2.1K70

    iOS 9 Storyboard 教程(二下)

    每当segue将要创建的时候prepareForSegue(_:sender:)都会被调用.退回(dismiss)这个视图的时候,你需要重写这个方法来存储你输入的玩家对象的数据. ---- Note:...你永远不会手动调用prepareForSegue(_:sender:)方法.它是一条从UIKit发出的信息,让你知道那个segue已经被触发了. ---- PlayerDetailsViewController.swift...你可能用tableView.reloadData()完成了书信界面,但是上面的方法伴有动画插入一行的时候看上去更漂亮....PlayerDetailsViewController添加一个初始化方法和一个反初始化方法: required init?...现在让我们给这个新的控制器一些数据来显示吧.GamePickerViewController.swift,把一个具有硬编码值的games字符串数组添加到顶部: var games:[String]

    2.2K10
    领券