Swift 3.0类说明—扩展名,GCD,WebView,下载图像,JSON
主讲人:魏炜
延期
- 可帮整体类别(已知类别)加新的属性或方法
GCD
图片来源:Wei Wei
- 主执行绪处理UI的工作
- 两种方式工作模式
- sync同步(做完再做下一个)
- async不同步(同时多工)
- 所以主执行绪不能放同步的工作,因为会阻挡UI的进行
- 串行队列与并发队列
更多:Swift的Grand Central Dispatch教程:第1/2部分
dan12411 / HelloGCD
通过在GitHub上创建一个帐户为HelloGCD开发做出贡献。 github.com
网页浏览
- 显示网页的特定方法:Safari / UIWebView / WKWebView / SFSafariViewController
- UIWebView / WKWebView连网的顺序:网址-> URL->请求-> WebView
- 连到非苹果的网页,要设定开起权限
- UIWebView:直接拉WebView到故事板
- WKWebView:用程式码写WebView,需汇入WebKit,效率比UIWebView好
- Safari:连网顺序URL->:Safari
- iOS 10以上版本:UIApplication.shared.open(URL,选项:[:],completionHandler:无)
- 以前的版本:UIApplication.shared.openURL(url)
- SFController:需汇入SafariService,连网顺序URL->产生Controller->推出Controller
- 介绍UIWebViewDelegate,并使用活动指示器
- 载入HTML或已经写好的网页
- 介绍用连结打开其他APP(之后似乎其他老师会在教到)
更多:iOS 9快速上手:搜寻API与SFSafariViewController
dan12411 / HelloWebView
通过在GitHub上创建一个帐户为HelloWebView开发做出贡献。 github.com
下载图片
- 第一种方法(用Data,记得要设定背景下载)
- 一样用网址产生URL
- 用共时伫列去下载
- 用数据类别,URL的内容下载,下载成为“数据(Data)”
- 回到主伫列去更新imageView
- 用资料产生图片
- 设定给myImageView来显示
- 第二种方法(用URLSession,预先就是背景下载)
- 生出URLSession
- 一样用网址产生URL
- 用dataTask和resumeTask下载
- 记得回到主序列来显示图片
- 其他:加关键字“ lazy”的方式:一种可以避免无用初始化的有效且简单的方法,而且在没有使用中间专有变量的情况下提供相应值
- 其他功能:
- 利用新的类别来下载
- 用程式码产生并加上活动指示器
- 利用快取,将图片存进快取资料夹,并判断是否下载过图片,避免重复下载,增快显示图片速度
参考:Swift中的延迟加载
dan12411 / HelloDownloadImage
通过在GitHub上创建一个帐户为HelloDownloadImage开发做出贡献。 github.com
下载JSON
- 流程:
- 确定要用什么资料
- 先用假资料试试看
- URLSession下载
- 以随机用户生成器为范例
- 生出要用来下载资料的URLSession
- 连结API网址
- 执行下载任务
- 如果没错误,就开始解析资料(JSON)
- 开始下载并更新资料
- 检查网路:可达性
- 用官方给的代码(object-C)
- Xcode导入Reachability.h和Reachability.m档案
- 在HelloJSON-Bridging-Header.h导入“ Reachability.h”
- 其他教学:平面设计颜色,静态表格通过添加容器查看,更改导航栏颜色
更多:Swift JSON教学:如何利用Data Taipei公开资料库建立App
dan12411 / HelloJSON
通过在GitHub上创建一个帐户为HelloJSON开发做出贡献。 github.com