Я читал, что, когда в соответствии с протоколом NSCoding и реализации методов, как -encodeWithCoder :, и объекты кодирования с т.е.Всегда ли константы сохраняют одно и то же значение?
[coder encodeObject:self.someObject forKey:kSomeConstantToIdentifyFields];
Эта константа используется для отслеживания этого объекта. Таким образом, позже с помощью этой константы соответствующее «поле» или что-то еще может быть отображено на этот объект снова (в данном случае это свойство).
Но: Разве эта смешная константа фактически не является случайной величиной, если она определена так?
#define kSomeConstantToIdentifyFields @"fieldFooBar"
Как система управляет им, чтобы всегда назначать такое же значение этой константе? Или я получил некоторые вещи об этих константах неправильно? Является ли значение фактически «fieldFooBar», а не каким-то случайным числом?
Отличное объяснение причин для определения констант – gnarf
Очень полезный ответ!+1 –