未解决的标识符'加入'和'阵列'不可用

时间:2017-01-13 07:49:04

标签: swift

当我使用Xcode 8.1.2编辑代码行时,发生了两个问题。请帮我解决问题。

  1. 使用未解析的标识符'join'
  2. Xcode 8.1.2表示使用未解析的标识符“join” 代码行:6

        func countryFromFilename(_ filename: String) -> String {
            var name = filename.components(separatedBy: "-")[1]
            let length: Int = name.characters.count
            name = (name as NSString).substring(to: length - 4)
            let components = name.components(separatedBy: "_")
            return join(" ", components)
        }
    

    2'阵列'不可用:请改用Array初始化程序。    代码行:1

            if model.regions.values.array.filter({$0 == true}).count == 0 {
                model.toggleRegion(regionNames[defaultRegionIndex])
                switches[defaultRegionIndex].isOn = true
                displayErrorDialog()
    

    提前致谢,

    麦克

1 个答案:

答案 0 :(得分:0)

(总结以上评论:) 没有全局join功能 Swift 3.要连接字符串数组,请使用

components.joined(separator: " ")

其次,“'array'不可用:请使用Array初始化程序代替” 意味着

model.regions.values.array

应该是

Array(model.regions.values)

但是,没有必要创建一个数组,你可以过滤掉 values直接序列:

if model.regions.values.filter({$0 == true}).count == 0

又可以简化为

if !model.regions.values.contains(true)