新的存储属性始终返回nil | iOS Swift

问题描述

为使用扩展名而存在的类创建的新存储属性。在获取值时,它始终返回nil值。下面的代码是我试图添加新的存储属性的内容。

var IdentifiableIdKey   = "kIdentifiableIdKey"
extension EKEvent {
    
    public var customId: Int {
        get {
            return (objc_getAssociatedObject(self,&IdentifiableIdKey) as? Int) ?? 0
        }
        set {
            print("\(newValue)")
            objc_setAssociatedObject(self,&IdentifiableIdKey,newValue,.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
        }
    }
    
}

利用率

let eventStore = EKEventStore()
let calendars = eventStore.calendars(for: .event)

for calendar in calendars {
    
       if calendar.title == "Events" {
                                    
         let oneMonthAgo = NSDate(timeIntervalSinceNow: -30*24*3600)

         let oneMonthAfter = NSDate(timeIntervalSinceNow: +30*24*3600)
                            
         let predicate = eventStore.predicateForEvents(withStart: oneMonthAgo as Date,end: oneMonthAfter as Date,calendars: [calendar])
                            
         let events = eventStore.events(matching: predicate)
                                    
           for event in events {                                        
                print("evnet id \(event.customId)")

                }
             }
          }

有人帮助我发现我犯的错误。预先感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)