【发布时间】:2015-04-29 20:01:35
【问题描述】:
我有一个要映射的范围,但出现错误
“Cannot invoke 'map' with an argument list of type '((_) -> _)'”
代码如下所示
let patterns = (0...5).map { verseNum in
let verseNumberStartPattern = "\"verse-num\">\(verseNum)</span>(?:\\s?<span>)?(.*?)<"
let chapterStartPattern = "\"chapter-num\">\\s\(parsedVerse.chapterStart)\\s</span>"
if verseNum == 1 {
return chapterStartPattern + "(.*?)<"
} else {
return chapterStartPattern + "(?:.*?)" + verseNumberStartPattern
}
}
如果我取出闭包内的所有内容并返回“”,那么编译器不会抱怨。但是,即使我在返回空字符串之外添加了一行,编译器也会报错,比如for:
let patterns = (0...5).map { verseNum in
let verseNumberStartPattern = "\"verse-num\">\(verseNum)</span>(?:\\s?<span>)?(.*?)<"
return ""
}
我错过了什么吗?
【问题讨论】:
标签: ios swift higher-order-functions