SwiftAssociatedObjects 0.1.2

SwiftAssociatedObjects 0.1.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2016年9月
SPM支持 SPM

Jay Abbott 维护。



  • Jay Abbott

AssociatedObjects

工作正常,但处于实验阶段。

将对象和值与任何类的任何实例关联。关联对象/值在实例 deinited 后自动消失(但请参阅以下问题)。

问题

  • 除非执行内部清理操作,否则关联对象会保持活跃状态,尽管这会在调用 associate(value:withKey:)associatedValue(forKey:) 方法时自动发生。因此,只要界面被经常使用(对任何实例),就没有问题。
  • 尚未尝试使其线程安全,建议现在只使用主线程。

使用指南

导入框架

import AssociatedObjects

您希望使用此功能的任何类都必须被标记为 Associable

extension SomeClass: Associable {}

然后只需调用 Associable 协议中定义的方法即可

someClassInstance.associate(value: 7, withKey: "anInt")
someClassInstance.associate(value: anyObjectInstance, withKey: "anObject")

// Later...

let theInt = someClassInstance.associatedValue(forKey: "anInt") as? Int
let theObject = someClassInstance.associatedValue(forKey: "anObject") as? AnyObject