聲明
歡迎轉載,但請保留文章原始出處:)
博客園:http://www.cnblogs.com
農民伯伯: http://over140.cnblogs.com
正文
1、Selector
在Swift中可以用字符串常量來構造Selector,例如:
NSNotificationCenter.defaultCenter().addObserver(self, selector:
"
handleMoviePlayerLoadStateDidChange:
", name: MPMoviePlayerLoadStateDidChangeNotification,
object: nil)
func handleMoviePlayerLoadStateDidChange(notification: NSNotification)
func handleMoviePlayerLoadStateDidChange(notification: NSNotification)
注意這個字符串常量最后的那個冒號,如果有一個參數就加1個冒號,沒有就不加,多參數則在第一個冒號的后面接上參數名並再加一個冒號,類似於"method:param2:param3:"。
2、使用多元組(Tuple)交換變量的值
func swapMe<T>(inout a: T, inout b: T) {
(a,b) = (b,a)
}
(a,b) = (b,a)
}
3、"="不支持操作符重載(——好像不是本書的內容,暫時一並寫在這一起了)
4、func的參數默認是let不可變的,可以自己自己一個var,注意這並不影響外面的參數,例如:
func incrementor(var variable: Int) -> Int {
return ++variable
}
return ++variable
}
5、需要保證在當前子類實例的成員初始化完成后才能調用父類的初始化方法。子類空初始化方法override init不需要顯示的調用super.init
加convenience的初始化方法子類不能重載,但是可以調用
加required的初始化方法子類必須重載
6、在需要處理大量數據並且頻繁操作 (增 減) 其中元素時,選擇 NSMutableArray 和 NSMutableDictionary 會更好,而對於容器內條 目小而容器本身數目多的情況,應該使用 Swift 語言內建的 Array 和 Dictionary。
7、一般使用弱引用weak的場景:
設置delegate時
在self屬性存儲為閉包時,其中擁有對self引用時
8、可以以產生致命錯誤 (fatalError) 的方式來終止程序
比如不合法的參數
9、讓一個類屬性對內可讀寫對外只讀
public
class MyClass {
public private( set) var name: String?
}
public private( set) var name: String?
}
結束
學習iOS開發差不多快2月了,陸陸續續做了一些筆記,以后也會分享更多swift的內容。非常推薦大家購買和閱讀這本電子版的《100個Switf必備tips》(http://swifter.tips/)!