视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
关于swift的基础知识
2020-11-27 20:01:17 责编:小采
文档

这次给大家带来关于swift的基础知识,关于swift基础知识的注意事项有哪些,下面就是实战案例,一起来看一下。

cmd + ctrl + e 替换相同对象名字

cmd + shift + o 搜索查找

使用 guard 语法, 依次判断每一项是否有值, 只要有一项为 nil, 就不再执行后续的代码!

guard let pty = list?[i], let cName = property_getName(pty), let name = String(utf8String: cName) else{ // 这个guard 在for循环里面,不能写return // 继续遍历下一个 continue}
在闭包中调属性, 需要用self.调用
loadData { (list) in print(list) // `拼接`数组, 闭包中定义好的代码, 在需要的时候执行, 需要 self. 指定语境 self.personList += list // 刷新表格 }

类型转换 as
Swift 中 String 之外, 绝大部分使用as 需要? / !
as! / as? 直接根据前面的返回值来决定
注意: if let / guard let 判空语句, 一律使用 as?

let vc = segue.destination as! DetailViewController 
// 设置选种的 person, indexPathif let indexPath = sender as? IndexPath { // indexPath 一定有值
 vc.person = personList[indexPath.row]
}

闭包回调传值

声明一个闭包属性

//闭包是可选的var completionCallBack: (()->())?

2.调用闭包传值

// 执行闭包回调// OC 中执行block前都必须判断是否有值, 否则容易崩溃// ! 强行解包 (Xcode 帮助修订, 一定不要用 `!`)// ? 可选解包 -> 如果 闭包为 nil, 就什么也不做completionCallBack?()

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

相关阅读:

Rxjs的使用详解

在HTML中用CSS实现文本截断

下载本文
显示全文
专题