为了账号安全,请及时绑定邮箱和手机立即绑定
没人留言?我来一发!

最赞回答 / Mr_Scorpio
这种情况用for循环比较麻烦,先要构建一个等比数列。用while循环容易实现:<...code...>
喜欢bobo老师,讲的真的非常好,非常清晰
吐字清晰,赞,结尾的大家加油哈哈
@autoclosure
聚合运算符
替代
三目运算符
优化重复运算
自定义运算符不在需要打括号
无参函数,返回值也是函数,只有在调用时才会执行,使用@autoclosure后编译器自动转换常量参数包装为函数;
swift3的autoclosure的顺序做了调整在参数后
FloatingPoint协议的2项内容:
常用数据类型遵循FloatingPoint方便类型转换;
定义pi, infinity, nan方便数据处理;
指定数据为FloatingPoint范型无需进行转型操作;
FloatingPoint定义了pi常量
Int,CGFloat, Float遵守FloatingPoint
定义Inifinity
T.infinity
定义NaN(Not Number)
myNan = Double.nan
myNan &gt; 0 //false
divide(10.0, 0.0).isNaN
数据处理时应用NaN
非法数组转换为nan方便计算
方便过滤非数值
index数组的索引,也适用于字符串
现在废弃了successor方法
arr.index(after: i)获得后继,不脱离数组的索引,采用数组的方法获得索引;
let j: String.Index = str.startIndex
#keyPath用#替代字符串减少错误拼写情况
forKeyPath
label.value(forKeyPath: superviewColor)
隐式可选型
let a: Int! = 5
let b = a //显式可选型
两阶段构造函数
never有返回值,正常情况下不返回值,便于在有错误产生时返回值。
名称采用更简洁的风格
queue.async
重写与OC联系紧密的函数,去掉了NS前缀
where的用处:
可以用于switch语句,没有太大变化;
可以用于if语句,用于模式判断,表达限制模式的要求,现在只需要用逗号替换;
guard语句,对可选型进行解包后,可以用where语句对解包后的语句进行约束;现在也采用逗号替换,并把解包与检测参数合法性的方法分别执行
guard
let a = a, let b = b, let c = c
a &gt; 0, b &lt;= 0, c%2 == 0 else{
return nil
}
return 0
}
where语句的使用位置发生了改变,类似解包与合法性验证的分开表达
枚举型
大量字符串标识符 调整为 枚举型变量,首字母大写修改为小写;
Optional&lt;String&gt;.none就是nil的本质,现在none变成了小写
动词函数名称:直接作用原对象
动名词函数名称:产生变化的返回值,不改变原值
scores.sorted得到一个排序的数组,scores的值没用变化
reversed不改变原数组
reverse会改变原数组
倒序循环语句
for i in (1...5).reversed(){
}
函数的变更:
1参数必须用括号标示出来
2函数的调用需要明确指定参数名称
函数名称(参数名称1:,参数名称2:)
课程须知
本课程适合学习过《玩儿转Swift2》系列课程的同学或者已经掌握swift2语言的同学,学习Swift3的变化。也适合已经接触swift3语言的同学,系统掌握swift2语言和swift3语言的区别,以及语法改变的内部原因,并且学习更多swift3技巧。
老师告诉你能学到什么?
通过本课程的学习,大家可以系统掌握swift2语言和swift3语言的区别,以及swift3语法改变的内部原因,并且学习更多swift3的编程技巧。大家对swift语言,能有更加深入的理解。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消