工作正常,但处于实验阶段。
将对象和值与任何类的任何实例关联。关联对象/值在实例 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