小编tku*_*you的帖子

Swift编译器错误:"无法使用类型'((_) - > _)"的参数列表调用'map'

我有一个我想要映射的范围,但我收到了错误

“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
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果我取出闭包内的所有内容并返回"",那么编译器就不会抱怨.但是,即使我添加一行而不是返回空字符串,编译器也会抱怨,例如:

    let patterns = (0...5).map { verseNum in
        let verseNumberStartPattern = "\"verse-num\">\(verseNum)</span>(?:\\s?<span>)?(.*?)<"
        return ""
    }
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

higher-order-functions ios swift

21
推荐指数
1
解决办法
1万
查看次数

标签 统计

higher-order-functions ×1

ios ×1

swift ×1