NSMutableCopying
NSMutableCopying
протокол объявляет метод для того, чтобы предоставить непостоянные копии объекта. Только классы, определяющие “неизменный по сравнению с непостоянным” различием, должны принять этот протокол. Классы, не определяющие такое различие, должны принять NSCopying
вместо этого.
NSMutableCopying
объявляет один метод, mutableCopyWithZone:
, но непостоянное копирование обычно вызывается с удобным методом mutableCopy
. mutableCopy
метод определяется для всего NSObjects и просто вызывает mutableCopyWithZone:
с зоной по умолчанию.
Если подкласс наследовал NSMutableCopying от своего суперкласса и объявляет дополнительные переменные экземпляра, подкласс должен переопределить mutableCopyWithZone:
должным образом обработать его собственные переменные экземпляра, вызывая реализацию суперкласса сначала.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает новый экземпляр, это - непостоянная копия получателя. (требуемый)
Объявление
Swift
func mutableCopyWithZone(_
zone
: NSZone) -> AnyObject?Objective C
- (id)mutableCopyWithZone:(NSZone *)
zone
Параметры
zone
Зона, от которой память выделяется для нового экземпляра. Если
zone
NULL
, новый экземпляр выделяется от зоны по умолчанию, возвращающейсяNSDefaultMallocZone
.Обсуждение
Возвращенный объект неявно сохраняется отправителем, который ответственен за выпуск его. Копия возвратилась, является непостоянным, является ли оригинал непостоянным или нет.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
– copyWithZone:
(Протокол NSCopying)– mutableCopy
(Класс NSObject)