Объекты содержимого NSMutableDictionary соответствуют протоколу NSCopying.

avatar
Pat_Morita
8 августа 2021 в 17:05
30
0
0

Я использую Objective-C, macOS.

У меня есть словарь опций, объявленный следующим образом

@property NSMutableDictionary* options

Теперь объект, содержащий словарь, необходимо скопировать с помощью copyWithZone, включая параметры.

Я могу вызвать "копировать" в словаре. Но как мне убедиться, что каждый объект, добавленный в словарь (который может быть любым объектом), соответствует протоколу NSCopying?

Что-то вроде

@property NSMutableDictionary* <NSCopying> options

Могу ли я добавить что-то в объявление свойства (чего я еще не выяснил) или мне нужно создать подкласс NSDictionary (чего я, скорее всего, хочу избежать)

С уважением

Пэт

Источник
Marek H
8 августа 2021 в 17:07
0

Метод copy() определен для всех объектов, наследуемых от NSObject, и просто вызывает метод copy(with:) с зоной по умолчанию. developer.apple.com/documentation/foundation/nscopying Каждый объект в словаре должен быть подклассом NSObject

Marek H
8 августа 2021 в 17:15
1

Также посмотрите на coderhelper.com/questions/5453481/… Не забывайте, что есть глубокий и поверхностный текст.

Ol Sen
8 августа 2021 в 17:36
0

как насчет @property (copy) ...

Willeke
9 августа 2021 в 07:39
0

Как насчет класса Options вместо NSMutableDictionary?

Willeke
9 августа 2021 в 07:42
0

Как насчет метода добавления опций?

Ответы (0)