iOS开发学习系列(1)———Swift语言入门

article/2025/1/11 21:43:22

缘起

对于成为全栈开发者的目标而言,很好奇自己几年前怎么就没想过iOS开发的事情。iOS好歹也是移动操作系统两巨头之一。反思了下,有可能是因为之前对Object-C太无感导致的。现在趁着Swift,借这个机会重新整理iOS的开发。本系列虽然是iOS开发,但我依然归并到边缘设备、系统及计算杂谈中。因为我目前从事的产品覆盖了从客户端到服务端再到云端,从APP开发,到前端开发再到各种垂直领域的开发(如AI,机器人控制等等)。

23b1d2c5a066dc0e78fed296c5d94f9e.png

本系列大概分为三个步骤

  • Swift语言基础,同时含一些特定领域的技术,如concurrency

  • iOS编程,同时含一些特定领域的技术,如Core Data或者别的(待定)

  • iOS应用程序架构设计

下面开始介绍,本文是第一篇Swift语言。PPT中有些内容我也借助了ChatGPT来快速掌握和学习Swift语言的一些东西。

19ad484ac213f66e8c425401e3ce73d4.png

afb734dc98fba8612e7400aa4864f1aa.png

8f340d84c5ecd06b7ea5cc2149dfd7a1.png

f1245c55ee94e7398f581935eecd56cb.png

39b96f57f223903d1e1f866267a2cd89.png

f984819fb2ddc16cfbf5aea3e66a8694.png

2dbf99112ce20b69a5c8d090ccc051bb.png

061310f34f17250039d1067b7a37e437.png

9415f37fee40028157a8ffc6823fb367.png

55326698099a58cb46a1528c4acfd8fc.png

1e0d477bcd115b566feb1c74b058f270.png

915f16c814fe1b96c8d3bc10a3da0fc6.png

8e001855e5372e016fe129943b35ea5e.png

be3bf2947153796fca2c7d62e8650383.png

6e3335f053b1e3cfcc726d6b38a35e2f.png

f3ac79fb747e5da8358af3b802299723.png

75162028448725c1750c072b3eb85afb.png

7df0c2928b86edcf34dcd596af93dee8.png

9673aab85c8aa263f588aa3f7468f144.png

2ef4991aea0fc44a99dcd1d403e8fc24.png

eca3ac0f0572c17d245fdcf2dcf9cab9.png

59fe2453e64f4fdbdb6fc73bf468edfc.png

7ae131357740e91c223077bb4aa3560f.png

077ecd5c4124d3c8b6c35da46deb7c3f.png

b652fbc908030757c544f9ac7ddc7afc.png

80225a93af3f58f94352ec92049034c8.png

0c19501ac60a8c1b00cfd38a817f89a2.png

71dbd688e823c93e8db5369bbfbc9b8a.png

5cf175ef9c489cb3f0a0bcc5daa80106.png

3cd541b9da80bba1ad026cb0f09957ff.png

4132245c9eab582e82d540b9c891f1c3.png

acc0d056e67860740ba38623e1190d8f.png

e95bc5b21389f533a72e599000b5e727.png

c207b49fa18fbd83a52cdb0857ddd999.png

e0fcf228c4cf40bad541d4995e14d1e9.png

f30c98d1d685c0bbe6420bd30a3b505c.png

bbad6686709321f5ffa45baba83776dc.png

4bfe153b65cb49d57c170f1ee058aad8.png

最后的最后

  • 我期望的结果不是朋友们从我的书、文章、博客后学会了什么知识,干成了什么,而应该是说,神农,我可是踩在你的肩膀上的喔。

  • 关于学习方面的问题,我已经讨论完了。后面这个公众号将对一些基础的技术,新技术做一些学习和分享。也欢迎你的投稿。不过,正如我在公众号“联系方式”里说的那样——郑渊洁在童话大王《智齿》里有一句话令我印象深刻,大意是“我有权保持沉默,但你说的每一句话都可能成为我灵感的源泉”。所以,影响不是单向的,很可能我从你那学到的东西更多。

神农和朋友们的杂文集


http://chatgpt.dhexx.cn/article/ChxRqe4q.shtml

相关文章

IOS开发学习资料集合(开发必备)

最近整理了下IOS学习资料,包含了入门、进阶、性能优化、面试和学习书籍,算是比较全面的,在这里分享给大家,希望对大家有用。 先晒出IOS学习路线图,大家照着图谱修炼。 学习社区 objc中国 learn IOS Ray Wenderlich…

iOS开发学习路线

那么现在说正题,如何成为负责任的开发者? 关注作者:点击关注二字可以找到大神组织首先要负责,对自己的项目负责。如果是自己新开的项目,要保证随时都能清晰的想到项目当中每个地方是怎么实现的,测试或者用户反馈了问题以后,能立马想到可能的错误原因。 如果是接手的项目…

对项目需求管理的认识和体会

下面是对一位项目经理关于需求管理的访谈: 做了那么多个项目,我深深感到对项目的需求把握管理好了,是项目成功的关键。对需求的管理大概有那么几个活动,首先是需求获取,这是一个确定和理解客户的需要和期望的过程&…

项目范围管理:WBS

创建工作分解结构是把项目可交付成果和项目工作分解成较小的、更易于管理的组件的过程。工作分解结构(WBS)是项目管理的基础,项目的所有规划和控制工作都必须基于工作分解结构。如果没有工作分解结构,就谈不上项目的进度计划、成本…

项目治理-项目需求范围管理:范围蔓延、镀金

范围蔓延、镀金 场景1: “甲方需要做一个App电商系统,项目对接非常满意,快项目结尾的时候,甲方的老板说,听说现在流行小程序,这个电商系统一定要在小程序上面也可以运行,如果不支持&#xff0…

怎样使用GitLab管理项目?

1. issue 介绍 一般 master 分支默认是被锁住的,其目的是保护该分支。普通开发人员可以创建 issue 后建立对应的分 支然后去完成任务。完成issue 后便要合并分支,只需发送 merge request ,等待 owner 审核才能合并到 master 分支上。合并的过程中可能…

软件需求管理过程

软件需求管理过程 软件需求管理过程 软件需求管理的过程 需求确认(确认需求规格) 需求获取–>需求分析–>需求规格编写–>需求验证需求变更(开发过程中的需求管理) 需求获取,需求分析,需求规格编写,需求验证,需求变更…

项目管理——需求收集与管理

项目管理——需求收集与管理 VS 需求收集对于产品经理来说,都已经属于老生常谈了。在产品的立项和设计前需要先做需求调研,在这里我们就来谈谈如何进行需求收集和管理。 一、需求收集目的 需求收集的目的就是了解用户目前所需要的是什么,最迫…

项目管理--需求分析

项目管理-需求分析 一、需求分析概述软件需求分类 需求分析是什么? 二,需求分析的任务需求分析的任务主要有两个方面:需求分析的困难:需求分析过程需求管理 三,需求分析案例需求分析的过程包括:exp:需求陈述需求陈述中…

谈产品研发项目需求及需求变更管理

公司经过2年多所研发的产品,终于正式试用了,中间经历过了无数次调整,产品研发过程是不断迭代的过程,发生需求变更、设计变更的情况非常多,为不影响创新和开拓思路,研发处在开放状态,当前阶段是时…

需求管理搞不定?这4招帮你解决项目需求管理

当你坐下来分析一个失败项目的时候,会发现很多项目在需求分析阶段就出现了问题,而需求变更也或多或少和开始的需求有关。 但项目需求就像神秘人一样,不知道是什么、不知道从哪来、不知道想干啥,搞清项目需求简直像一场读心术… …

软件项目管理 第五讲软件项目需求管理

文章目录 项目案例软件需求管理的基本概念什么是软件需求?关于软件需求的注意事项软件需求的重要性 软件需求开发软件需求工程的产生什么是软件需求开发?软件需求开发的任务软件需求开发的过程步骤1:收集和获取软件需求步骤2:软件需求建模步骤3:文档化软…

项目管理学习总结(2)——需求收集和管理

需求收集对于产品经理来说,都已经属于老生常谈了。在产品的立项和设计前需要先做需求调研,在这里我们就来谈谈如何进行需求收集和管理。 一、需求收集目的 需求收集的目的就是了解用户目前所需要的是什么,最迫切需要去解决的问题是什么&#…

END-TO-END OPTIMIZED IMAGE COMPRESSION论文阅读

END-TO-END OPTIMIZED IMAGE COMPRESSION 文章目录 END-TO-END OPTIMIZED IMAGE COMPRESSION单词摘要:1.INTRODUCTION2.CHOICE OF FORWARD, INVERSE, AND PERCEPTUAL TRANSFORMS3.OPTIMIZATION OF NONLINEAR TRANSFORM CODING MODEL3.1 RELATIONSHIP TO VARIATIONAL…

[论文解读] Concolic Testing for Deep Neural Networks

Concolic Testing for Deep Neural Networks 文章目录 Concolic Testing for Deep Neural Networks简介摘要介绍相关工作DNNs的鲁棒性Concolic测试与相关工作对比深度神经网络 DNNS的覆盖测试激活模式形式化测试覆盖标准测试覆盖率指标 具体覆盖要求Lipschitz连续性神经元覆盖率…

【论文翻译】 Clustering by Passing Messages Between Data Points

论文题目:Clustering by Passing Messages Between Data Points 论文来源:Clustering by Passing Messages Between Data Points 翻译人:BDMLCQUT实验室 Clustering by Passing Messages Between Data Points Brendan J. Frey* and Delbert …

二维泊松方程求解--点迭代法

本文目录 1. 问题描述1.1. 泊松方程1.2. 算例 2. 区域离散和方程离散2.1. 边界条件 3. 代数方程组求解3.1. 雅可比迭代3.2. 高斯-赛德尔迭代3.3. SOR迭代3.4. 迭代收敛标准3.5. 迭代法收敛的分析3.6. 上述迭代方法的计算结果 4. 代码 1. 问题描述 本算例来自B站Up主“Red-Gree…

【论文翻译】Clustering by Passing Messages Between Data Points

论文题目:Clustering by Passing Messages Between Data Points 论文来源:Clustering by Passing Messages Between Data Points 翻译人:BDMLCQUT实验室 Clustering by Passing Messages Between Data Points Brendan J. Frey* and Delbert…

数值计算:线性方程组求解及应用

文章目录 一. 实验目的二. 实验内容、过程及结果实验一:使用直接法求解线性方程组①高斯消去法:②列主元法: 实验二:使用迭代法求解线性方程组①Jacobi 迭代法②Gauss-Seidel 迭代法③逐次超松弛迭代法④共轭梯度法⑤令n10、50、1…

A Survey on Knowledge Graphs___Representation, Acquisition and Applications.知识图谱综述:表示,获取,应用

知识图谱综述:表示、获取及应用 这是研究生第一篇综述文章,第一次读也是花了好几天的时间。 摘要:人类的知识提供了对世界的一种形式的理解。表征实体之间结构关系的知识图已成为认知和人的智能研究的热门方向。在这个调查中,我们提供了一…