当前位置: 代码迷 >> 综合 >> Swift Extension如何添加属性
  详细解决方案

Swift Extension如何添加属性

热度:41   发布时间:2023-12-08 20:38:38.0

在这里插入图片描述
报错Extensions must not contain stored properties
这个时候我们应该使用关联属性来实现想要的功能

public extension UIView {
    private struct AssociatedKey {
    static var clipType: CornerClipType = .None}var clipType: CornerClipType {
    get {
    return objc_getAssociatedObject(self, &AssociatedKey.clipType) as? CornerClipType ?? CornerClipType.None}set {
    objc_setAssociatedObject(self, &AssociatedKey.clipType, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)}}
}

在这里插入图片描述
搞定

  相关解决方案