这里记录记录一下Swift3里面的一些”边边角角”,比较零碎!!!
1. 使用type(of: )来获取类名dynamicType方法已经废弃了,取而代之的是type(of: )方法
let a: Int? = 10
type(of: 13.14) //结果Double
type(of: a) //结果Optional<Int>
PS:如果是NSObject或其子类也可以使用classForCoder, 或者类名.classForCoder()和类名.selflet view = UIView()
view.classForCoder //结果UIView
UIView.self //结果UIView
UIView.classForCoder() //结果UIView
2. 使用@discardableResult关键字来忽略方法的返回值某些方法有返回值,但是有时候我们不使用, 如果不定义值来接收它,会有黄色警告⚠️!!!, 这个时候就可以在方法前面添加这个关键字即可.如果不添加这个关键字,也可以使用_来忽略返回值
@discardableResult
func createButton() -> UIButton{}
或者不添加关键字使用_ = createButton()来忽略
3. Swift里面使用Float, Double,CGFloat,FloatingPoint,NSDecimal,Float80数据类型的时候,会有一个NaN值(Not a Number, 不是一个数字), 这个时候可以使用实例方法isNaN来判断if value.isNaN { return }