NSManagedObjectID
NSManagedObjectID
объект является компактным, универсальным идентификатором для управляемого объекта. Это формирует основание для uniquing в Базовой Платформе Данных. Управляемый объект ID однозначно определяет тот же управляемый объект и между контекстами управляемого объекта в отдельном приложении, и в многократных приложениях (как в распределенных системах). Идентификаторы содержат информацию, должен был точно описать объект в персистентном хранилище (как первичный ключ в базе данных), несмотря на то, что не представлена подробная информация. Платформа полностью инкапсулирует «внешнюю» информацию и представляет чистый объектно-ориентированный интерфейс.
Идентификаторы объектов могут быть преобразованы в представление URI, которое может быть заархивировано и воссоздано позже, чтобы вернуться к данному объекту (использование managedObjectIDForURIRepresentation:
(NSPersistentStoreCoordinator
) и objectWithID:
(NSManagedObjectContext
). Например, последняя выбранная группа в приложении могла быть сохранена в пользовательских значениях по умолчанию через объект группы ID. Можно также использовать идентификатор объекта представления URI для хранения «слабых» отношений через персистентные хранилища (где никакое твердое соединение не возможно).
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCopying
-
NSObject
Оператор импорта
Swift
import CoreData
Objective C
@import CoreData;
Доступность
Доступный в OS X v10.4 и позже.
-
Описание объекта связалось с идентификатором объекта. (только для чтения)
Объявление
Swift
var entity: NSEntityDescription { get }
Objective C
@property(readonly, strong) NSEntityDescription *entity
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
См. также
entity
(NSManagedObject
) -
temporaryID temporaryID
СвойствоБулево значение, указывающее, является ли идентификатор объекта временным. (только для чтения)
Объявление
Swift
var temporaryID: Bool { get }
Objective C
@property(getter=isTemporaryID, readonly) BOOL temporaryID
Обсуждение
YES
true
если получатель является временным, иначеNO
false
. Большая часть возврата идентификаторов объектовNO
false
. Новые объекты, вставленные в контекст управляемого объекта, присваиваются временный ID, заменяющийся постоянным, как только объект сохраняется к персистентному хранилищу.Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.10 и позже.
-
persistentStore persistentStore
СвойствоПерсистентное хранилище, выбравшее объект для идентификатора объекта. (только для чтения)
Объявление
Swift
weak var persistentStore: NSPersistentStore? { get }
Objective C
@property(readonly, weak) NSPersistentStore *persistentStore
Обсуждение
nil
если ID для недавно-вставленного-объекта, еще не сохраненного к персистентному хранилищу.Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает URI, обеспечивающий archiveable ссылку на объект для идентификатора объекта.
Возвращаемое значение
NSURL
объект, содержащий URI, обеспечивающий archiveable ссылку на объект, который представляет получатель.Обсуждение
Если соответствующий управляемый объект еще не был сохранен, идентификатор объекта (и следовательно URI) является временной ценностью, которая изменится, когда будет сохранен соответствующий управляемый объект.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
См. также
managedObjectIDForURIRepresentation:
(NSPersistentStoreCoordinator
)objectWithID:
: (NSManagedObjectContext
)