프로토콜 RequestType이 있고 아래와 같이 associatedType Model이 있습니다.
public protocol RequestType: class {
associatedtype Model
var path: String { get set }
}
public extension RequestType {
public func executeRequest(completionHandler: Result<Model, NSError> -> Void) {
request.response(rootKeyPath: rootKeyPath) { [weak self] (response: Response<Model, NSError>) -> Void in
completionHandler(response.result)
guard let weakSelf = self else { return }
if weakSelf.logging { debugPrint(response) }
}
}
}
이제 모든 실패한 요청의 대기열을 만들려고합니다.
public class RequestEventuallyQueue {
static let requestEventuallyQueue = RequestEventuallyQueue()
let queue = [RequestType]()
}
그러나 let queue = [RequestType]()
Protocol RequestType은 Self 또는 AssociatedType 요구 사항이 있기 때문에 일반 제약 조건으로 만 사용할 수 있다는 오류가 있습니다.