如何解决关联类型可以有类型注释吗?
我正在遵循一个示例,作者在关联类型上使用类型注释,但是 Xcode 抛出错误“无法在范围内找到类型 *”。没有使用任何 Cocoapods 或第三方框架。我也尝试构建该项目,但无法编译。
这是一个单独的 Swift 文件中的类型:
import Foundation
protocol EndPointType {
var baseURL: URL {get}
var path: String {get}
var httpMethod: HTTPMethod {get}
var task: HTTPTask {get}
var headers: HTTPHeaders? {get}
}
这是来自另一个 Swift 文件的代码,该文件的 associatedType 尝试使用类型注释:
import Foundation
public typealias NetworkRouterCompletion = (_ data: Data?,_ _response: URLResponse?,_ error: Error?)->()
protocol NetworkRouter: class {
associatedtype EndPoint: EndPointType
func request(_ route: EndPoint,completion: @escaping NetworkRouterCompletion)
func cancel()
}
为什么第二个 Swift 文件不能看到数据类型以进行编译?
解决方法
我将 Swift 文件移到一个子组中,Xcode 以为我删除了该文件,但它在工作区中。我将 Swift 文件移回子组,问题就消失了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。