gpt4 book ai didi

swift - 如何转储任何类型的所有属性内容

转载 作者:行者123 更新时间:2023-11-28 13:17:54 25 4
gpt4 key购买 nike

假设我有一些像这样的 MO 类

class MonthGroup: NSManagedObject {

@NSManaged var displayOrder: NSNumber
@NSManaged var isdeleted: NSNumber
@NSManaged var name: String
@NSManaged var remarks: String?
@NSManaged var requireUpdate: NSNumber
@NSManaged var uid: String
@NSManaged var exerRel: NSSet

}

我需要一个函数来遍历任何给定对象的属性并返回它们的值(如果存在!-我不希望出现 BAD ACCESS 运行时错误)

有点像

func dumpObject(anyObject:AnyObject) {
println("\(anyObject.className) has the following values:")

for property in anyObject.properties {
println("\(property.name) value: \(property.value)")
}
}

最佳答案

每个 NSManagedObject 都有一个 NSEntityDescription .它具有各种属性来检查实体。例如。 - propertiesByName– relationshipsByName- propertiesByName。这些字典以属性或关系的名称作为键,以 NSAttributeDescription 和/或 NSRelationshipDescription 对象作为值。

extension NSManagedObject {
func dumpProperties() {
for (key, _) in entity.propertiesByName as [String : AnyObject] {
println("\"\(key)\": \(valueForKey(key))")
}
}
}

关于swift - 如何转储任何类型的所有属性内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28231703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com