swift 中級extension

extension

extension 相似於OC中的Category 在沒有源代碼的狀況下能夠給類添加方法
extension不只能夠擴展類並且擴展struct enum,可是涉及修改屬性的方法,須要加
mutating 關鍵字

定義

extension String {
  mutating func withExcitment() -> String {
       return self+ "!" 
   }
}

例子

extension String {
    
    func backwards() -> String {
        var temp = ""
        
        for letter in self.characters.reverse() {
            
            temp.append(letter)
        }
        return temp
    }
}

var name = "wang kai"
name.backwards() //"iak gnaw"

extension CGPoint {
//修改屬性的方法
    mutating func reset()  {
        self.x = 0
        self.y = 0
    }
}

var loc = CGPoint(x: 10, y: 20)
loc.reset()
相關文章
相關標籤/搜索