NSDate を拡張しようとしました。私が欲しかったのは、後で NSDate を削除する必要があるかどうかを示すフラグです
だから私は遊び場でこれを試しました
//: Playground - noun: a place where people can play
import UIKit
var str = "Hello, playground"
extension NSDate {
private struct RemovalInformation {
static var removed: Bool = false
}
var removed: Bool {
get {
return (objc_getAssociatedObject(self, &RemovalInformation.removed) as! Bool)
}
set(newValue) {
objc_setAssociatedObject(self, &RemovalInformation.removed, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN)
}
}
}
let date = NSDate()
print( "The Date is: \(date)")
if(date.removed == true) {
print ("removed")
}
しかし、行if(date.removed == true)
はエラーを生成します。対処方法がわかりません:「EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)」