让我说我有一些像这样的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
}
我需要一个函数来迭代任何给定的Object属性并返回它们的值(如果存在! - 我不想要BAD ACCESS运行时错误)
像
这样的东西func dumpObject(anyObject:AnyObject) {
println("\(anyObject.className) has the following values:")
for property in anyObject.properties {
println("\(property.name) value: \(property.value)")
}
}
答案 0 :(得分:2)
每个NSManagedObject
都有一个NSEntityDescription
。其中有各种属性来检查实体。例如。 - propertiesByName
,– relationshipsByName
和- propertiesByName
。这些是字典,其属性或关系的名称为键,NSAttributeDescription
和/或NSRelationshipDescription
对象为值。
extension NSManagedObject {
func dumpProperties() {
for (key, _) in entity.propertiesByName as [String : AnyObject] {
println("\"\(key)\": \(valueForKey(key))")
}
}
}