时间:2021-07-01 10:21:17 帮助过:35人阅读
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实现文本截断
以上就是关于swift的基础知识的详细内容,更多请关注Gxl网其它相关文章!