Я использую Objective-C, macOS.
У меня есть словарь опций, объявленный следующим образом
@property NSMutableDictionary* options
Теперь объект, содержащий словарь, необходимо скопировать с помощью copyWithZone, включая параметры.
Я могу вызвать "копировать" в словаре. Но как мне убедиться, что каждый объект, добавленный в словарь (который может быть любым объектом), соответствует протоколу NSCopying?
Что-то вроде
@property NSMutableDictionary* <NSCopying> options
Могу ли я добавить что-то в объявление свойства (чего я еще не выяснил) или мне нужно создать подкласс NSDictionary (чего я, скорее всего, хочу избежать)
С уважением
Пэт
Метод copy() определен для всех объектов, наследуемых от NSObject, и просто вызывает метод copy(with:) с зоной по умолчанию. developer.apple.com/documentation/foundation/nscopying Каждый объект в словаре должен быть подклассом NSObject
Также посмотрите на coderhelper.com/questions/5453481/… Не забывайте, что есть глубокий и поверхностный текст.
как насчет
@property (copy) ...
Как насчет класса Options вместо
NSMutableDictionary
?Как насчет метода добавления опций?