【Swift官方助读】 重读Swift

2017-01-14 15:48:49来源:http://www.jianshu.com/p/bda960994eef作者:攀Dar人点击

第七城市

枚举的成员值是实际值,并不是原始值的另一种表达方法。 可以尝试打印生成的枚举就是该值本身,而打印rawValue后才是对应的type的值



处理错误:
1 Throw Throws Do Catch
2 try?
将结果转换为可选的。如果函数抛出错误,该错误会被抛弃并且结果为nil。否则的话,结果会是一个包含函数返回值的可选值。



1 第一种方式
enum myError: Error{
case OutOfPaper
case NoToner
case OnFire
}
func sendToPrinter(pointerName: String) throws -> String {
if pointerName == "NeverHasToner" {
throw myError.NoToner
}
defer {
print("不管方法是否被throw抛错阻止都会走进来 defer是函数终止前执行的最后一段代码 不因throw而影响")
}
return "Yes It is me"
}
do {
let valueThrowing = try sendToPrinter(pointerName: "NeverHasToner")
print(valueThrowing)
} catch myError.OnFire {
print("Catch的东西就是你throw出来的东西 因此你可以进行判断和自定义")
}
catch let myOwnErrorNow as myError {
print("我自己的错误类型**********/(myOwnErrorNow)")
}
catch {
print("系统默认的错误类型********/(error)")
}
2 第二种方式
let canThrowError = try? sendToPrinter(pointerName: "NeverHasToner---")
let canThrowError = try? sendToPrinter(pointerName: "NeverHasToner")

3 与系统关键字冲突时使用 let let = "dkfjdkfj"; print(let)


4 浮点类型 Float


浮点字面量可以是十进制(没有前缀)或者是十六进制(前缀是 0x )。小数点两边必须有至少一个十进制数字(或者是十六进制的数字)。十进制浮点数也可以有一个可选的指数(exponent),通过大写或者小写的 e 来指定;十六进制浮点数必须有一个指数,通过大写或者小写的 p 来指定。
如果一个十进制数的指数为 exp,那这个数相当于基数和10^exp的乘积:
1.25e2 表示 1.25 × 10^2,等于 125.0。
1.25e-2 表示 1.25 × 10^-2,等于 0.0125。
如果一个十六进制数的指数为exp,那这个数相当于基数和2^exp的乘积:
0xFp2 表示 15 × 2^2,等于 60.0。
0xFp-2 表示 15 × 2^-2,等于 3.75。

5 断言保证前面的表达式必须要通过 不然后面就会是表达式 assert(1 > 2, "Imposible")


6 Swift 的String类型是基于 Unicode 标量 建立的。 Unicode 标量是对应字符或者修饰符的唯一的21位数字.Unicode 标量,写成/u{n}(u为小写),其中n为任意一到八位十六进制数且可用的 Unicode 位码。let sparklingHeart = "/u{1F496}" //

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台