我收到此错误:
无法转换类型'的值(@escaping(String?,Error?) - > Void) - >()'到预期的参数类型'String'
我的代码是这样的:
import Foundation
extension String {
class SamsData {
func findSamsContentId() -> [String]
{
if let regex = try? NSRegularExpression(pattern: "(\\d{19,})+", options: .caseInsensitive)
{
let string = self.getSamsData
return regex.matches(in: string, options: [], range: NSRange(location: 0, length: string.length)).map {
string.substring(with: $0.range).replacingOccurrences(of: "#", with: "").lowercased()
}
}
return []
}
...more code
}
我的直觉告诉我错误被抛出,因为我正在返回一个数组?但对所有这些仍然是新的,所以不太确定。
发布于 2018-12-14 09:53:35
我相信如果getSamsData
是一个闭包,那么变量string
(如在let string = getSamsData
)中不是'String'类型,只是一个返回String的闭包(如前所述)...你不应该这样做let string = getSamsData()
吗?这假设关闭没有收到任何东西,我没有看到你的问题中的实现,所以我拍了一下......顺便说一句,出于好奇,你是通过扩展String来做什么的?或者这只是你问题的一个例子?似乎您的代码是针对某些特定功能的,而这不是extensions
能实现的...
https://stackoverflow.com/questions/-100006286
复制相似问题