小编Mis*_*ppi的帖子

如何使带有关联值的Swift枚举可等于

我有一个关联值的枚举,为了进行测试,我想使其相等,但不知道这种模式如何适用于带有多个参数的枚举实例。

例如,总结如下,我知道使标题相等的语法。对于包含多个不同类型值的选项,这将如何工作?

enum ViewModel {
    case heading(String)
    case options(id: String, title: String, enabled: Bool)
}

func ==(lhs: ViewModel, rhs: ViewModel) -> Bool {
    switch (lhs, rhs) {
    case (let .heading(lhsString), let .heading(rhsString)):
        return lhsString == rhsString
    case options...
    default:
        return false
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道Swift 4.1可以为我们合成Equatable的一致性,但是目前我无法更新到该版本。

enums swift equatable associated-value

14
推荐指数
3
解决办法
5218
查看次数

过滤JSON对象的结果

var employees = {
"staff": [
  {"name": "Bob", "gender": "Male"},
  {"name": "Sue", "gender": "Female"},
  {"name": "Eric", "gender": "Male"},
  {"name": "Jo", "gender": "Female"}    
  ]
}
Run Code Online (Sandbox Code Playgroud)

在遍历这个json结构之后,有没有一种方法可以根据性别选择有选择地删除整行?理想情况下,我想要一个新的对象,但没有任何男性,例如.

javascript jquery json object

2
推荐指数
1
解决办法
69
查看次数

在Swift中连接字符串和整数

我希望不同类型之间的连接在Swift中是直截了当的,但显然不是.这是什么解决方法?

var boy = "Bart Simpson"
var age = 7
print(boy + " is " + age)
Run Code Online (Sandbox Code Playgroud)

concatenation swift

2
推荐指数
2
解决办法
5398
查看次数

Swift字典到dictionarys数组

我在这里简化了字符串和Bools字典:

var dict: [String : Bool] = ["A": true, "B": false, "C": true]
Run Code Online (Sandbox Code Playgroud)

我想转换到字典如下(即字典键和值都将成为另一个字典中值的数组,但每次都会有"身份证"和"启用"的一个新的字典键:

var array = [["id": "A", "enabled": true], ["id": "B", "enabled": false], ["id": "C", "enabled": true]]
Run Code Online (Sandbox Code Playgroud)

我一直无法找到解决方案.什么是最好的方法?

提前致谢.

dictionary swift

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