美文网首页
Swift 中extension 设置属性

Swift 中extension 设置属性

作者: 大也 | 来源:发表于2021-08-16 11:29 被阅读0次
extension ADAlertController: ADAlertControllerPriorityQueueProtocol {
   
   private struct AssociatedKeys {
       static var alertPriority: Void?
       static var autoHidenWhenInsertSamePriority: Void?
   }
       
   public var alertPriority: ADAlertPriority? {
       get {
           let alertPriority = objc_getAssociatedObject(self, &AssociatedKeys.alertPriority) as? ADAlertPriority
           return alertPriority ?? ADAlertPriorityDefault
       }
       set {
           objc_setAssociatedObject(self, &AssociatedKeys.alertPriority, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
       }
   }
   
   public var autoHidenWhenInsertSamePriority: Bool? {
       get {
           return objc_getAssociatedObject(self, &AssociatedKeys.autoHidenWhenInsertSamePriority) as? Bool ?? false
       }
       set {
           objc_setAssociatedObject(self, &AssociatedKeys.autoHidenWhenInsertSamePriority, newValue, .OBJC_ASSOCIATION_ASSIGN)
       }
   }
}

相关文章

网友评论

      本文标题:Swift 中extension 设置属性

      本文链接:https://www.haomeiwen.com/subject/zrqoultx.html