Swift学习笔记39-实战注意事项
注意事项注意一些需要释放的页面尽量避免调用全局变量Cell的事件就比如didselect是在最下面一层要是上面有其他uicontrol或者uibutton会把事件抢走能调用系统API的地方尽量调用系统的API不要自己写就比如TableView里的didSelect是控制点击事件的需要点击整块Cell的时候直接用这个函数就好了。千万不要使用AutoLayout非常多问题实在不行就用SwiftUI嵌套本地化文本不要设置comment内容数组越界是一个大问题千万要注意⚠️就比如现在要用第五位必须先确保第五位存在。分割字符串后使用map映射到一个数组中的APIimportFoundationletstrapple,banana,orange// components 直接返回 [String] 数组letresult:[String]str.components(separatedBy:,).map{$0.capitalized}print(result)// 输出: [Apple, Banana, Orange]TableView的Cell高度控制最好还是用一个Cell内的函数来控制高度和内部元素的变化然后再在渲染cell的时候使用它不然会出很多Bug。而控制状态的bool变量最好是在TableView的VC里有多个Cell最好分别存储它们的状态, 就像[Bool]为了避免史山代码的形成没有使用过也不从未上线的代码就将其删除。注意曾在线上版本里使用过的代码绝对不可以删除注释掉就好了。避免在重用机制下使用临时变量就比如TableViewtableView.reconfigureRows(at: [indexPath])就比如这个可能会出未知的问题既然弱引用了Self后面刷新的时候就继续用self引用其他组件就好了。functableView(_tableView:UITableView,cellForRowAt indexPath:IndexPath)-UITableViewCell{letbasebaweiQABases[indexPath.row]letisExpandedisExpandeds[indexPath.row]letcell:BaweiQACelltableView.cellForRow(at:indexPath)as?BaweiQACell??BaweiQACell(style:.default,reuseIdentifier:BaweiQACell)cell.question_content_label.textbase.questions cell.answers_content_label.textbase.answers// cell.answers_content_label.setLineHeight(24)letq_sizeYK_Toast.getStrSize(text:base.questions,font:.systemFont(ofSize:14),size:.init(width:SCREENWIDTH-64,height:600))// let a_size YK_Toast.getStrSize(text: base.answers, font: .systemFont(ofSize: 14), size: .init(width: SCREENWIDTH - 64, height: 600))leta_sizeYK_Toast.getStrSize(text:base.answers,font:.systemFont(ofSize:14),size:.init(width:SCREENWIDTH-64,height:1000),lineSpacing:4)letexpanded_false_backView_size:CGRect.init(x:GAP_16,y:0,width:SCREENWIDTH-GAP_32,height:16308q_size.height160.5161816)letexpanded_true_backView_size:CGRect.init(x:GAP_16,y:16308q_size.height24308a_size.height160.516,width:SCREENWIDTH-GAP_32,height:16308q_size.height160.5161816(24308a_size.height))cell.selectionStyle.nonecell.backgroundColor.clear cell.question_content_label.frame.init(x:16,y:16308,width:SCREENWIDTH-64,height:q_size.height)cell.backView.frameexpanded_false_backView_size cell.dividerView.frame.init(x:16,y:16308q_size.height16,width:SCREENWIDTH-64,height:0.5)cell.expend_answer.frame.init(x:16,y:16308q_size.height1616,width:SCREENWIDTH-64,height:18)cell.configure(with:isExpanded,q_size:q_size,a_size:a_size)cell.clickBlock{[weakself]inself?.isExpandeds[indexPath.row]!isExpanded// tableView.reconfigureRows(at: [indexPath])self?.homeScroll.reloadRows(at:[indexPath],with:.automatic)#warning(3.5修改)//尽量避免在重用机制的条件下使用临时变量}returncell}做展开收起效果做到操作后实时刷新TableVIew高度的API主要有这两个self?.homeScroll.reconfigureRows(at:[indexPath])self?.homeScroll.reloadRows(at:[indexPath],with:.automatic)

相关新闻

LeetCode高频100题:算法面试核心解题模式精讲

LeetCode高频100题:算法面试核心解题模式精讲

1. 为什么高频100题是算法面试的黄金标准 在技术面试中,算法题往往是最具区分度的考察环节。过去五年间,我参与过数百场技术面试,发现一个规律:约80%的面试算法题都集中在LeetCode高频100题范围内。这套题目之所以成为行业标杆&am…

2026/8/11 14:41:30 阅读更多 →
Claude Code CLI 实战指南:60个命令解锁AI编程自动化

Claude Code CLI 实战指南:60个命令解锁AI编程自动化

1. 项目概述:为什么你需要一份全面的 Claude Code CLI 指南?如果你正在接触 Claude Code,或者已经用它写了几行代码,但总觉得在终端里操作起来不够顺手、不够快,那这篇文章就是为你准备的。我花了大量时间,…

2026/8/11 14:41:30 阅读更多 →
Pikachu靶场SQL注入实战:从原理到防御

Pikachu靶场SQL注入实战:从原理到防御

1. Pikachu靶场与SQL注入实战入门 Pikachu靶场是国内安全爱好者熟知的Web漏洞练习平台,它模拟了各种常见的Web安全漏洞场景。我第一次接触Pikachu是在大三的网络安全课上,当时被它可爱的名字和丰富的漏洞类型吸引。这个靶场特别适合刚入门Web安全的新手&…

2026/8/11 14:41:30 阅读更多 →

最新新闻

电子商务专业考证和运营实习哪个有用

电子商务专业考证和运营实习哪个有用

每到求职季,电商专业的同学总会陷入同一个纠结:到底是多考几个证书,还是赶紧找一份运营实习更划算?两边的声音都很大,一边说证书是敲门砖,一边说实习经历才是硬通货。其实,这两件事从来不是非此…

2026/8/11 17:03:36 阅读更多 →
Skill 装得越多反而越卡越乱,是时候进行一次冲突检查了

Skill 装得越多反而越卡越乱,是时候进行一次冲突检查了

如果你也在支持 Skill 的 AI 编码助手里装了一堆 Skill,却发现越用越卡、越用越乱——我之前也是这样,这篇整理的就是在这个过程中摸索出来的一些经验。 如果你自己动手写过 Skill,但还没来得及把质量兜底的机制搭起来,下面这些踩…

2026/8/11 17:03:36 阅读更多 →
系统级工具链开发与 Cargo 工作区管理:按资源、延迟和人工成本拆账

系统级工具链开发与 Cargo 工作区管理:按资源、延迟和人工成本拆账

系统级工具链开发与 Cargo 工作区管理:按资源、延迟和人工成本拆账 我刚接触 Cargo Workspace 时,看到构建慢就想立刻开缓存、开 LTO、删依赖。后来才明白,它们会影响构建时间、产物大小和排错方式,不能只看一个指标。 我会先记录…

2026/8/11 17:03:36 阅读更多 →
从 Clockify 迁移到 TimeScribe:无缝导入数据的完整指南

从 Clockify 迁移到 TimeScribe:无缝导入数据的完整指南

从 Clockify 迁移到 TimeScribe:无缝导入数据的完整指南 【免费下载链接】TimeScribe Modern & private time tracking for macOS & Windows. No cloud, no registration, no paywall. Just download and track your work hours 100% offline. 项目地址: …

2026/8/11 17:02:36 阅读更多 →
做了7年产品运营负责人|产品复盘终于不再是“数据截图大杂烩”

做了7年产品运营负责人|产品复盘终于不再是“数据截图大杂烩”

做产品运营的人,应该都经历过这种季度复盘:会议开始前,手上已经有用户增长、渠道投放、功能使用、付费转化、留存曲线和客服反馈,但真正打开PPT时,还是不知道先讲哪个数字。白天要和产品经理确认版本,和数据…

2026/8/11 17:02:36 阅读更多 →
DeepSeek辅助毕业论文写作:工程化实践与学术规范指南

DeepSeek辅助毕业论文写作:工程化实践与学术规范指南

在实际学术研究和论文写作中,如何高效利用前沿的AI工具来辅助完成文献综述、框架搭建和初稿撰写,正成为许多学生和研究者关注的核心问题。特别是面对毕业论文这样一项系统性工程,从选题、文献收集到结构梳理和文字表达,每一步都可…

2026/8/11 17:02:36 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →