2
확장자가 NSURLSessionDownloadTask인데이 Extension 안에 Objective C Associated Objects를 사용하여 'id'라는 저장된 속성을 만들었습니다. 속성을 설정하려고하면 '인스턴스로 보낸 인식 할 수없는 선택기'가 나타납니다. 아래는 내 코드입니다.Swift : Extensions의 저장 속성 인식 할 수없는 선택기 예외
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