Swift   发布时间:2022-04-29  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了迭代Swift中的对象类属性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Swift中是否有一种简单的方法来迭代类的属性.

我有一个Person类,它有3个属性:name,lastname,age.

是否有类似的东西

for attribute in Person {
     println("\(attributE): \(attribute.value)")
}

输出将是例如:

name: Bob
lastname: Max
age: 20

解决方法

他们已经删除了Swift 2.0中的反射.这就是我枚举属性值的方式.

class People {
    var name = ""
    var last_name = ""
    var age = 0
}

var user = People()
user.name  = "user name"
user.last_name = "user lastname"
user.age = 20

let mirrored_object = Mirror(reflecTing: user)

// Swift 2
for (index,attr) in mirrored_object.children.enumerate() {
    if let property_name = attr.label as String! {
        print("Attr \(indeX): \(property_Name) = \(attr.value)")
    }
}

// Swift 3 and after
for (index,attr) in mirrored_object.children.enumerated() {
    if let property_name = attr.label as String! {
        print("Attr \(indeX): \(property_Name) = \(attr.value)")
    }
}

大佬总结

以上是大佬教程为你收集整理的迭代Swift中的对象类属性全部内容,希望文章能够帮你解决迭代Swift中的对象类属性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。