Возможно ли получить номер из столбца Z_PK, созданного Core Data? Если да, вы бы получили этот столбец так же, как вы бы извлекли атрибуты, созданные вручную в модели?Z_PK Столбец в базе данных основных данных
ответ
Вы можете использовать sqlite для прямого доступа к столбцам, созданным CoreData.
Однако вы не должны зависеть от того, что Z_PK или любой из столбцов остаются неизменными. Схема может меняться (и имеет) между выпусками. Apple заявила об этом в видеороликах WWDC.
Спасибо, Кевин. Это очень хороший момент. Я видел некоторые из видеоматериалов с базой данных WWDC, но не помнил об этом. – JRo
ios read z_pk from sqlite coredata
Смотрите эту ссылку, чтобы узнать больше. Как я знаю, мы не можем получить Z-PK из основных данных. Но вы можете это знать, сохраняя файл основных данных, такой как файл sqlite, и можете проверить его по запросу.
z_pk не является атрибутом, который вы можете получить, как и любые другие атрибуты. Что вы можете сделать, так это извлечь значение z_pk из managedObjectID
вашего лица
Управляемый объект может быть получен с использованием [self objectID]
. Для этого примера мы возьмем это одно:
<x-coredata://03C5C895-3245-4D0F-8B6B-7758582AE16B/<your-Entity>/p5>
p5
в конце концов, это z_pk. (Для этого магазина и для этого лица в настоящее время он может измениться)
Не знаете, что вам нужно для z_pk, или в каком формате. Давайте преобразовать managedObjectID
в строку:
NSString *aString = [[[self objectID] URIRepresentation] absoluteString];
Из строки извлечения 5
:
NSArray *theComponents = [aString componentsSeparatedByString:@"/p"];
NSInteger theZpk = [[theComponents lastObject] intValue];
Теперь у вас есть z_pk как int
и может обрабатывать его, как вам нравится.
Спасибо Olaf. Я решил пойти другим путем, так как z_pk может измениться. – JRo
Зачем вам нужен ключевой ключ _? 'CoreData' очень хорошо создает аксессуар, работа с первичными ключами не является обычной практикой с« CoreData ». – holex
Мне просто нужен уникальный идентификатор для ссылки на каждую сущность. Было просто любопытно, если использование первичного ключа было лучше, чем создание моего собственного уникального атрибута. Основываясь на ответе Кевина, я просто собираюсь создать свою собственную. – JRo