我对使用Dictionary(grouping:,by: )
initializer感兴趣。
但是,根据情况,我必须根据不同的键对项目进行分组。如何有条件地选择键,然后将其作为变量传递给by:
参数?
let predicate: ((myobjectType) -> Int?)
if shouldUseValue1 {
predicate = {$0.value1?.intvalue}
} else {
predicate = {$0.value2?.intvalue}
}
var grouped = Dictionary(grouping: arrayToGroup,by: predicate)
我得到的错误是:
Cannot convert value of type '(myobjectType) -> Int?' to expected argument type '(_) -> _'
所以,问题是我应该将哪种类型传递给初始化程序的by:
参数以使其起作用?