Swift_扩展(extension)
2017-08-18 17:35
302 查看
//1、扩展 Double 类型 extension Double{ var km:Double{return self * 10 } var m:Double{return self } var cm:Double{return self/10 } } extension Double{ var dm:Double{return self+self} } //2、扩展整型带 block返回 extension Int{ func re(_ task:(Int)->()) { for i in 0..<self { task(18+i) } } } //3、扩展带整形带下标 extension Int { subscript(digitIndex: Int) -> Int { var decimalBase = 1 for _ in 0..<digitIndex { decimalBase *= 10 } return (self / decimalBase) % 10 } } //4、扩展可以为已有的类、结构体和枚举添加新的嵌套类型: extension Int { enum Kind { case Negative, Zero, Positive } var kind: Kind { switch self { case 0: return .Zero case let x where x > 0: return .Positive default: return .Negative } } } import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //1、扩展 Double 类型 let a = 33.4.km //334 let b = 223.22.m + a.cm //256.62 //2、扩展Int 带 block let c:Int = 10 c.re { (a) in print("扩展Int 带 block\(a)") } /*! 扩展Int 带 block18 扩展Int 带 block19 扩展Int 带 block20 扩展Int 带 block21 扩展Int 带 block22 扩展Int 带 block23 扩展Int 带 block24 扩展Int 带 block25 扩展Int 带 block26 扩展Int 带 block27 */ //3、扩展带整形带下标,从右到左 0 let t = 8978 let qt = t[1] //7 //4、扩展可以为已有的类、结构体和枚举添加新的嵌套类型: printIntegerKinds([3, 19, -27, 0, -6, 0, 7]) } //4、扩展可以为已有的类、结构体和枚举添加新的嵌套类型 func printIntegerKinds(_ numbers: [Int]) { for number in numbers { switch number.kind { case .Negative: print("- ", terminator: "") case .Zero: print("0 ", terminator: "") case .Positive: print("+ ", terminator: "") } } print("") } }
相关文章推荐
- 【iOS】Swift中扩展extension与协议protocol
- Swift Extension 扩展
- Swift 扩展(extension)
- Swift扩展(Extension)
- Swift语言精要 - 扩展(Extension)
- Swift - 类扩展(extension)
- Swift - 类扩展(extension)
- Swift学习这二十二:扩展(extension)
- Swift中扩展extension与协议protocol
- [绍棠_Swift] Swift中扩展extension、协议protocol
- swift中的extension(扩展)
- Swift学习笔试19——扩展(Extension)
- swift 对日期的处理大全( 类扩展 Date+Extension 和 公共类 DateClass)
- Swift 系统学习 31 扩展 extension
- Swift扩展(Extension)
- 【iOS】Swift中扩展extension与协议protocol
- Swift - 类扩展(extension)
- 【iOS】Swift扩展extension和协议protocol
- Swift扩展(Extension)
- iOS经典讲解之Swift枚举(Enum)、协议(protocol)、扩展(Extension)