1

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()

hqman
198 声望8 粉丝

« 上一篇
swfit 中级协议
下一篇 »
React最近火啊