在数据的许多用途中,有一件事让我感到困惑。CoreData 中的 EG 和 NSManagedObject 子类的属性名称与 CoreData 属性中的属性相同。NSXMLParser 也会发生类似的事情。
为什么是这样?这让我很困惑,因为我从来没有看到正在使用的属性名称的字符串。虽然 NSLoging 我得到一个获取请求对象,
"<Person: 0x6d5be20> (entity: Person; id: 0x6d5dce0 <x-coredata://6800B6A5-87AF-46B4-9836-9D412A9B3EE4/Person/p1> ; data: {\n age = 51;\n firstName = Anthony;\n lastName = Robbins;\n})",
作为数组元素之一。我不希望有任何不同。
但是在本教程中,当我使用
for (Person *thisPerson in persons)
(thisPerson 是具有神秘属性的数据对象)。属性名称似乎已按名称排序。
NSLog(@"First Name = %@", thisPerson.firstName);
这是为什么?肯定需要大量的 NSRegex 表达式和字符串修改来推断这些数据。