2
我有一个NSURLSessionDownloadTask的扩展,在这个扩展中,我使用Objective C相关对象创建了一个名为'id'的存储属性。当我尝试设置属性时,我得到'无法识别的选择器发送到实例'。这里是我的代码如下:Swift:扩展中存储的属性无法识别的选择器异常
extension NSURLSessionDownloadTask {
private struct AssociatedKeys {
static var id: String?
}
var id: String? {
get {
return objc_getAssociatedObject(self, &AssociatedKeys.id) as? String
}
set {
if let newValue = newValue {
objc_setAssociatedObject(self, &AssociatedKeys.id, newValue as String?, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}
}
}
后来;
let task = session.downloadTaskWithURL(url)
task.id = identifier