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
  • 连到非苹果的网页,要设定开起权限
  1. UIWebView:直接拉WebView到故事板
  2. WKWebView:用程式码写WebView,需汇入WebKit,效率比UIWebView好
  3. Safari:连网顺序URL->:Safari
  • iOS 10以上版本:UIApplication.shared.open(URL,选项:[:],completionHandler:无)
  • 以前的版本:UIApplication.shared.openURL(url)
  1. SFController:需汇入SafariService,连网顺序URL->产生Controller->推出Controller
  • 介绍UIWebViewDelegate,并使用活动指示器
  • 载入HTML或已经写好的网页
  • 介绍用连结打开其他APP(之后似乎其他老师会在教到)

更多:iOS 9快速上手:搜寻API与SFSafariViewController

dan12411 / HelloWebView
通过在GitHub上创建一个帐户为HelloWebView开发做出贡献。 github.com

下载图片

  • 第一种方法(用Data,记得要设定背景下载)
  1. 一样用网址产生URL
  2. 用共时伫列去下载
  3. 用数据类别,URL的内容下载,下载成为“数据(Data)”
  4. 回到主伫列去更新imageView
  5. 用资料产生图片
  6. 设定给myImageView来显示
  • 第二种方法(用URLSession,预先就是背景下载)
  1. 生出URLSession
  2. 一样用网址产生URL
  3. 用dataTask和resumeTask下载
  4. 记得回到主序列来显示图片
  5. 其他:加关键字“ lazy”的方式:一种可以避免无用初始化的有效且简单的方法,而且在没有使用中间专有变量的情况下提供相应值
  6. 其他功能:
  7. 利用新的类别来下载
  8. 用程式码产生并加上活动指示器
  9. 利用快取,将图片存进快取资料夹,并判断是否下载过图片,避免重复下载,增快显示图片速度

参考:Swift中的延迟加载

dan12411 / HelloDownloadImage
通过在GitHub上创建一个帐户为HelloDownloadImage开发做出贡献。 github.com

下载JSON

  • 流程:
  1. 确定要用什么资料
  2. 先用假资料试试看
  3. 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