Swift Tips
/ 3 min read
1. “Implicitly Unwrapped” Optional
在许多类或者结构体中,有些属性的值随着实例化即可确定下来不为空,那么这种情况下再做判断或者解析就显得繁冗且低效,做了好多不必要的工作,就像下面这个例子。
在上述例子中,就像用户的id号,每次新注册一个用户或者登陆一个用户,他的id肯定是存在的,如果这时候再判断id是否为nil,显然是不必要的。这时候就需要将属性类型后面的?
改为!
。
其实无论类型是用!
还是用?
声明的,类型都是作为Optional的存在,但是!
被称作隐式解析可选类型,意味着你想获取其值不必解析,可以直接拿来用,但是呢,也不代表它不为nil。
2. collection使用字面量进行初始化
3. url中汉字encode
4. #line #file #function
#line
#function
#file
在Swift中相当于Objective-C中的__LINE__
__FUNCTION__
__FILE__
。
5. guard let 和 if let
6. 高阶函数
7. singleton
8. 闭包中使用self