★ 既存のクラスに新たにプロパティを追加する
class MyObject: NSObject {}
private var key = 0
extension MyObject {
var str:String {
get {
return objc_getAssociatedObject(self, &key) as! String
}
set {
objc_setAssociatedObject(self, &key, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_COPY_NONATOMIC)
}
}
}