新書推薦:
《
未来特工局
》
售價:HK$
55.8
《
高术莫用(十周年纪念版 逝去的武林续篇 薛颠传世之作 武学尊师李仲轩家世 凸显京津地区一支世家的百年沉浮)
》
售價:HK$
54.9
《
英国简史(刘金源教授作品)
》
售價:HK$
98.6
《
便宜货:廉价商品与美国消费社会的形成
》
售價:HK$
77.3
《
读书是一辈子的事(2024年新版)
》
售價:HK$
77.3
《
乐道文库·什么是秦汉史
》
售價:HK$
80.6
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:HK$
109.8
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:HK$
109.8
|
編輯推薦: |
从语法基础到案例实战,从初识SwiftUI到App上架 本书知识点全面,操作步骤详细,核心代码简洁明了 作者剥茧抽丝,娓娓道来,堪称“保姆级”开发宝典 如果你想独立开发一款理想中的iOS应用,本书将是你的不二之选
|
內容簡介: |
SwiftUI是苹果公司推出的跨平台开源UI框架,同时支持iOS、macOS、watchOS、tvOS等多平台应用开发,使用这一框架可以使用很少的代码实现复杂的交互和功能,极大地提高了开发效率。
本书共29章,由浅到深系统性讲解了SwiftUI的背景、Swift语言的语法基础、SwiftUI基础组件、交互操作、数据存储、网络请求、硬件设备、付费模式、应用上架等内容,并在每个章节中结合生动有趣的案例进行讲解,提高书籍的趣味性。
通过对本书的学习,读者将会对SwiftUI框架及多平台开发有全面的认识,并能够使用SwiftUI进行独立开发。本书适合正在学习Swift SwiftUI以及对SwiftUI感兴趣的开发人员阅读和参考。
|
關於作者: |
李智威,iOS 独立开发者,新零售领域高级产品经理,稀土掘金技术社区签约作者。拥有6 年产品设计及独立开发经验,目前负责零售SaaS 数智化产品线,曾独立负责国内Top3 服装领域上市公司数字化转型项目,从0 到1 负责过百万级产品项目。熟悉Swift 开发语言和SwiftUI 框架,独立开发“不言笔记”“Linkcard”等应用。
|
目錄:
|
序
第1章 开启全新体验,你的第一个SwiftUI项目
1.1 初识Swift和SwiftUI
1.2 Xcode,你的官方开发工具
1.3 快来创建第一个SwiftUI项目
1.4 简单了解下Xcode的操作和项目结构
1.5 预览你的第一个项目
1.6 简单分析视图文件代码
1.7 本章小结
第2章 文字的魅力,Text文字的使用
2.1 创建一个新的视图文件
2.2 使用修饰符格式化文字
2.3 更多修饰符和使用场景
2.4 在项目中使用自定义字体
2.5 多个文字控件的组合使用
2.6 本章小结
第3章 视觉传达,Image图片的使用
3.1 展示一张本地图片
3.2 使用修饰符格式化图片
3.3 更多修饰符和使用场景
3.4 在项目中使用SF Symbols图标库
3.5 从互联网上获得一张图片
3.6 本章小结
第4章 图文排版,Stack布局容器的使用
4.1 实战案例:启动页
4.2 实战案例:缺省页
4.3 实战案例:状态显示页
4.4 小知识:如何收起代码块
4.5 本章小结
第5章 Swift语法初探,磨刀不误砍柴工
5.1 常量和变量
5.2 Swift中的数据类型
5.3 运算符及使用场景
5.3.1 常用的运算符
5.3.2 赋值运算符和算术运算符
5.3.3 三元运算符
5.3.4 比较运算符和逻辑运算符
5.3.5 空合运算符
5.4 本章小结
第6章 点击交互,Button按钮的使用
6.1 创建一个简单的按钮
6.2 创建一个渐变色的按钮
6.3 万物皆可变成按钮
6.4 小知识:参数值类型转换
6.5 使用onTapGesture修饰符
6.6 小知识:如何批量重命名参数名称
6.7 本章小结
第7章 文本输入,TextField文本框的使用
7.1 声明文本框参数
7.2 创建一个简单的文本框
7.3 使用修饰符格式化文本框
7.4 实战案例:登录页面
7.5 实战案例:搜索框
7.6 小知识:实现隐藏键盘
7.7 TextEditor多行文本框的使用
7.8 本章小结
第8章 数据呈现,List列表的使用
8.1 创建一个简单的列表
8.2 遍历数组中的数据
8.3 定义Model数据模型
8.4 使用数据模型展示数据
8.5 拖动排序和滑动删除
8.6 使用修饰符格式化List列表样式
8.7 本章小结
第9章 页面顶部,NavigationView导航
视图的使用
9.1 导航标题和导航按钮
9.2 实战案例:设置页面
9.3 基于顶部导航的页面跳转
9.4 自定义返回按钮
9.5 实现侧滑返回
9.6 本章小结
第10章 页面底部,TabView选项卡视图的使用
10.1 创建一个简单的底部导航
10.2 使用修饰符格式化底部导航
10.3 实战案例:引导页
10.4 实战案例:轮播图
10.5 本章小结
第11章 基础表单,Form表单的使用
11.1 创建一个简单的表单视图
11.2 在Form表单中使用Toggle开关
11.3 在Form表单中使用Picker选择器
11.4 Stepper步进器和Slider滑块选择器
11.5 实战案例:RGB色卡
11.6 ColorPicker颜色选择器的使用
11.7 本章小结
第12章 提示弹窗,那些弹出的信息
12.1 实战案例:内容列表
12.2 Sheet模态弹窗
12.3 FullScreenCover全屏弹窗
12.4 ActionSheet选项弹窗
12.5 Alert警告弹窗
12.6 ContextMeun点按弹窗
12.7 本章小结
第13章 屏幕延伸,ScrollView滚动布局容器的使用
13.1 创建一个简单的滚动页面
13.2 实战案例:电商首页之轮播图
13.3 实战案例:电商首页之快捷按钮组
13.4 实战案例:电商首页之商品推荐列表
13.5 DisclosureGroup拓展折叠视图
13.6 本章小结
第14章 点击、长按、拖拽、缩放、旋转
14.1 快速了解手势修饰符
14.2 TapGesture点击手势
14.3 LongPressGesture长按手势
14.4 DragGesture拖拽手势
14.5 MagnificationGesture缩放手势
14.6 RotationGesture旋转手势
14.7 组合手势的运用
14.8 本章小结
第15章 自定义颜色,打造你的独特风格
15.1 前景色
15.2 背景色
15.3 边框色
15.4 渐变色
15.5 十六进制颜色
15.6 本章小结
第16章 数据流动,页面之间的数据交互
16.1 @State状态的使用
16.2 @Binding绑定的使用
16.3 @Environment环境的使用
16.4 @AppStorage数据持久化的使用
16.5 本章小结
第17章 网络请求,URLSession框架的使用
17.1 实战案例:色卡列表
17.2 初识JSON数据格式
17.3 URLSession框架的使用
17.4 MVVM架构模式的使用
17.5 小知识:如何实现随机展示数据
17.6 本章小结
第18章 数据持久化,FileManager框架的使用
18.1 实战案例:笔记应用样式
18.2 @AppStorage应用存储包装器
18.3 FileManager本地文件存储框架
18.3.1 准备数据模型
18.3.2 获得沙盒地址及文件地址
18.3.3 读取本地文件
18.3.4 存储数据到本地文件
18.3.5 新增、编辑、删除方法
18.3.6 获得当前日期方法
18.4 实战案例:新增笔记操作
18.5 实战案例:编辑笔记操作
18.6 实战案例:删除笔记操作
18.7 本章小结
第19章 图形绘制,Path路径和Shape形状的使用
19.1 SwiftUI中的基础形状
19.1.1 Circle圆形
19.1.2 Ellipse椭圆形
19.1.3 Rectangle矩形
19.1.4 RoundedRectangle圆角矩形
19.1.5 Capsule胶囊矩形
19.2 使用Path路径绘制图形
19.2.1 addLine绘制直线
19.2.2 addQuadCurve绘制贝塞尔曲线
19.2.3 addCurve绘制二次贝塞尔曲线
19.2.4 addArc绘制圆弧
19.3 使用Shape自定义形状
19.4 实战案例:倒计时圆环
19.5 本章小结
第20章 设备功能初探,拍摄、上传、保存、分享
20.1 从相册中选择图片
20.1.1 创建ImagePicker方法
20.1.2 使用ImagePicker方法
20.2 使用相机拍摄图片
20.2.1 设置选择器sourceType
20.2.2 在真机上预览效果
20.3 保存图片至本地相册
20.3.1 View转换为UIImage
20.3.2 展示UIImage模型对象
20.3.3 保存UIImage模型对象
20.4 分享图片到其他平台
20.4.1 创建ShareSheet方法
20.4.2 使用ShareSheet方法
20.5 本章小结
第21章 FaceID,LocalAuthentication身份认证框架的使用
21.1 创建一个配置开关
21.2 创建一个解锁页面
21.3 实现身份认证方法
21.4 在Info.plist中配置权限
21.5 实现登录身份认证交互
21.6 逻辑优化
21.7 本章小结
第22章 播放声音和视频,增强你的感官体验
22.1 实战案例:电子木鱼
22.2 实现播放声音方法
22.3 实战案例:文字转语音
22.4 创建一个帮助教程页面
22.5 实现播放视频方法
22.6 本章小结
第23章 新历和农历,使用DateFormatter格式化日期
23.1 实战案例:数字时钟
23.2 格式化日期
23.3 如何使用中国历法
23.4 本章小结
第24章 自定义样式,ViewModifier协议的使用
24.1 创建自定义视图
24.2 自定义视图修饰器
24.3 实战案例:注册页面
24.4 实战案例:自定义Toast弹窗
24.5 知识拓展:修改Toggle控件样式
24.6 本章小结
第25章 让应用“动”起来,加入Animation动画魔法
25.1 为视图添加隐性动画
25.2 在组合视图中使用隐性动画
25.3 为视图添加显性动画
25.4 实战案例:计时器按钮组
25.5 实战案例:Loading加载动画
25.6 实战案例:3D旋转动画
25.7 本章小结
第26章 CoreData和CloudKit,帮你更好地管理数据
26.1 初探CoreData框架
26.2 实战案例:ToDo应用
26.2.1 创建ToDoModel数据模型
26.2.2 创建ToDoListRow视图
26.2.3 实现toggleToDoItemCompleted方法
26.2.4 创建InputTextField视图
26.2.5 实现addToDoItem方法
26.2.6 实现deleteTodoItem方法
26.3 创建实体模型
26.4 创建Persistence单例
26.5 实现CoreData本地数据存储
26.5.1 在项目中使用CoreData容器
26.5.2 修改addToDoItem方法
26.5.3 修改deleteToDoItem方法
26.5.4 修改toggleToDoItemCompleted方法
26.6 实现iCloud云端数据存储
26.6.1 添加iCloud数据库容器
26.6.2 添加Background Modes能力
26.6.3 设置CloudKit云存储开发
26.7 本章小结
第27章 轻量互动,Widget桌面小组件的使用
27.1 创建Widget小组件项目
27.2 小组件项目文件详解
27.2.1 MyWidgetBundle文件
27.2.2 MyWidgetLiveActivity文件
27.2.3 MyWidget文件
27.2.4 MyWidget.intentdefinition文件
27.2.5 Assets.xcassets文件
27.3 实战案例:跳转微信扫一扫
27.4 实战案例:每日一句
27.4.1 完成OneWord项目
27.4.2 使用App Group实现数据共享
27.4.3 完成OneWordWidget项目
27.5 本章小结
第28章 赚取第一桶金,在应用中添加内购和订阅
28.1 了解应用付费机制
28.1.1 付费购买
28.1.2 应用内购
28.1.3 应用订阅
28.1.4 广告
28.2 实战案例:内购页面
28.3 在项目中集成内购功能
28.3.1 创建内购测试文件
28.3.2 创建StoreKit框架引用文件
28.3.3 实现应用内购功能
28.3.4 实现恢复购买功能
28.4 本章小结
第29章 应用上架,发布你的第一款App
29.1 AppIcon应用图标
29.2 商店预览图
29.3 技术支持网址URL
29.4 隐私政策网址URL
29.5 协议、税务和银行业务设置
29.6 正式提交上架
29.7 本章小结
|
內容試閱:
|
序
可能你无法想象,这本书是一名产品经理写的。
创作缘由
四年前,由于机缘巧合,我开始接触和了解iOS编程。由于当时公司缺少iOS开发工程师,在我的自告奋勇下,技术总监同意了我在产品本职工作之余,协助开发公司iOS版本应用的一些基本功能的请求。
虽然那时的我,除了大学时期学习过C#、C 编程语言,毕业后从事的工作中没有使用过任何一种编程语言,但我很乐观,向技术总监“讨要”了一本编程书籍,便开始了蒙头摸索之路。
当时公司使用的是Swift UIKit的编程方式,各种协议和样式约束让我头疼不已,每次实现一个小功能或者小页面,都几乎需要花费我一整晚的时间。后面慢慢熟悉其语法特征后,我能实现一些基本的功能了,也能和其他研发同事就某些技术问题深入讨论,这算是意想不到的收获。
说实话,从安装官方的开发工具写下第一行HelloWorld,到在模拟器中运行测试第一个待发版的App,我既懵懂又兴奋。项目在模拟器“跑”起来的那一刻,我感觉自己突破了产品经理的极限,成为了一名“懂技术”的产品经理。
之后由于对iOS编程的浓厚兴趣,我开始接触Swift SwiftUI的编程方式。
SwiftUI是苹果公司在2019年度WWDC全球开发者大会上发布的全新框架,在国内还较少有企业用于自家商用产品的开发,而且在国内能找到的相关开发书籍特别少,因而我在学习过程中花费了很长一段时间,也为此“掉了不少头发”。
为了后续方便学习和回顾,我开始在掘金技术社区发表专栏文章,用来记录SwiftUI的学习过程。在经历了大半年在平台上更新了5个专栏约150篇文章后,我有幸和掘金技术社区签约成为签约作者。后来有幸收到了中国水利水电出版社编辑的邀请,便萌生了写作出版的想法。
这便是本书的由来。
想法和尝试
在准备写这本书之前,我一直在想如何才能让这本书生动而有趣。
虽然这本书的目标读者更多的是iOS开发工程师,或是计算机专业毕业的学生,或是想要学习iOS编程的其他从业者,但我希望这本书能够适用于所有人,而不仅是程序员。
人人都应该学会编程,人人都可以通过编程学会如何独立思考,如何分析问题和解决问题。
我不希望这是一本枯燥的书籍,也不希望读者跟着书本的内容学到了最后,还是没有办法独立开发一款理想中的App。
当初还在学习之初的我,找了很多国内外免费或付费的书籍和教程,跟着项目案例一行一行敲代码,到最后也只是实现了案例里的内容,却无法开发出一个完整的App。
这对于一个想要通过努力实现理想和抱负的人是一种很大的打击。
我理想中的书籍是,当我们一步步跟着书本学习,最后能开发出一款可以上架App Store的App;当我们编程遇到问题了,可以很快在书本对应的段落找到解决方案;当我们学习完最后一章或学到中途,就可以开发出自己想要的App,而不是仅能完成书本中的案例……当然,书本中的知识点应该是最新的。
因此,本书既会包含基础知识,也会包含一些实战案例,我们会实现一个个很小很小的精美页面,并通过对编程中复杂概念的解析,讲述如何使用SwiftUI这一响应式UI框架搭建心中的“理想国”。
勘误和反馈
由于是第一次写书,编写能力略显稚嫩,书中难免会有一些错误或者不清晰的地方,在请读者见谅的同时,也欢迎给予指正和反馈。书中的所有案例都可以从GitHub(https://github.com/ RicardoWesleyli/SwiftUI.git)中下载,如果你有任何宝贵的想法和建议,也可以直接发送邮件至16620164429@163.com,期待与你的相遇。
致谢
感谢一直支持着我的江佩琦小姐,你的李智威先生已经写完这本书啦!
感谢中国水利水电出版社万水分社的编辑王新宇老师,在我写作过程中给予的鼓励和帮助,让我能顺利完成全部书稿。
最后感谢我的父母、琦琦的父母,还有我那准备步入职场的妹妹,以及在我人生道路上指引我的张勇老师、叶泳成老师、许治老师,感谢你们对我的支持和帮助,为我照亮未来的路。
谨以此书献给我最亲爱的家人,以及众多热爱iOS的朋友们!
李智威
2023年7月于深圳
|
|