直接上代码
import Foundation
extension NSObject {
private struct NotificationIdentifyStruct {
static var NotificationIdentify:String?
}
var NotificationInstanceIdentify: String {
get {
if let tempString = objc_getAssociatedObject(self, &NotificationIdentifyStruct.NotificationIdentify) as? String {
return tempString
}else{
let tempString = "\(arc4random())"
objc_setAssociatedObject(self, &NotificationIdentifyStruct.NotificationIdentify, /*不明白这个地方为什么是一个指针而不是一个字符串之类的*/tempString, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
return tempString
}
}
set{
objc_setAssociatedObject(self, &NotificationIdentifyStruct.NotificationIdentify, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}