我是xCode(Swift)开发中的新手,我正在尝试创建以下结构:
struct artistSection : Comparable {
var artist : String
var vinyls : [Vinyl]
var collapsed : Bool
static func group(vinyls : [Vinyl]) -> [artistSection] {
let groups = Dictionary(grouping : vinyls) { (vinyl) -> String in
return (vinyl.artist!)
}
return groups.map(artistSection.init(artist: vinyls: collapsed:)).sorted
}
}
return.map出现以下错误:
无法使用类型为(((String,[Vinyl],Bool)-> VinylTableViewController.artistSection)
的参数列表调用'map'
答案 0 :(得分:0)
您需要将输入参数提供给ArtistSection
中的map
的初始化程序。
struct ArtistSection:Comparable {
var artist : String
var vinyls : [Vinyl]
var collapsed : Bool
static func group(vinyls : [Vinyl]) -> [ArtistSection] {
let groups = Dictionary(grouping : vinyls) { (vinyl) -> String in
return (vinyl.artist!)
}
return groups.map({ArtistSection(artist: $0.key, vinyls: $0.value, collapsed: false)}).sorted()
}
}
与错误无关,但还要确保您符合Swift命名约定,即类型(ArtistSection
而不是artistSection
的UpperCamelCase。