Swift Extension 扩展项目中的某个类
给固有类添加一些实用变量
如下,所有 Int 值都有这个变量了,可以直接使用
let count = 10
let randomNumberInRange = count.arc4random
extension Int {
var arc4random: Int {
if self > 0{
return Int(arc4random_uniform(UInt32(self)))
} else if self < 0{
return -Int(arc4random_uniform(UInt32(abs(self))))
} else {
return 0
}
}
}
另一种使用情景:
为了方便代码管理,用 extension 来把多个 delegate 或者所继承的类分隔开来,比如
class BuddyVC: UIViewController {
...
}
extension: BuddyVC: UITableViewDataSource {
// 写关于 DataSource 的相关方法
}
extension: BuddyVC: UIPickerDelegate {
// 写关于 PickerDelegate 的相关方法
}