如何在swift中实现oc中的分类

2025-03-26 16:09:30
推荐回答(1个)
回答1:

在swift中没有分类这种写法了。相对应的是swift中只有扩展(Extensions)。

下面是swift中扩展(Extensions)的说明

扩展就是向一个已有的类、结构体、枚举类型或者协议类型添加新功能(functionality)。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)。扩展和 Objective-C 中的分类(categories)类似。(不过与 Objective-C 不同的是,Swift 的扩展没有名字。)

1. 新建swift文件

2.代码实现

import Foundation
import UIKit

//private var PERSON_ID_NUMBER_PROPERTY = 0

extension UIView {
   public var x: CGFloat{
       get{
           return self.frame.origin.x
       }
       set{
           var r = self.frame
           r.origin.x = newValue
           self.frame = r
       }
   }
   public var y: CGFloat{
       get{
           return self.frame.origin.y
       }
       set{
           var r = self.frame
           r.origin.y = newValue
           self.frame = r
       }
   }
   /
}

请参考这里http://www.myexception.cn/swift/2037041.html