我正在遵循约翰·桑德尔(John Sundell)的帖子(https://www.swiftbysundell.com/posts/providing-a-unified-swift-error-api),该帖子使用了不错的perform
函数来创建统一的错误API
func perform(_ expression: @autoclosure () throws -> T,
orThrow error: Error) throws -> T {
do {
return try expression()
} catch {
throw error
}
}
func someFunction(url: URL) throws -> Data {
...
return try perform(Data(contentsOf: url),
orThrow: SearchError.dataLoadingFailed(url))
}
但这给我Use of undeclared type
的{{1}}错误。 Xcode是否不应该通过查看传入的函数的返回类型来找出T类型?
答案 0 :(得分:3)
您需要声明函数签名中使用的任何类型参数:
<input type="file" name="myImage" accept="image/x-png,image/gif,image/jpeg" />