В объявлении свойства можно отправить атрибут «копировать». Вы не можете использовать копию для всех объектов, но для каких объектов можно использовать атрибут copy?Какие классы можно скопировать?
ответ
-copy
не является атрибутом, это метод. Это нормально, чтобы отправить -copy
на любой объект, который реализует протокол NSCopying.
Если у вас есть свойство, вы можете (должны?) Использовать атрибут copy
, если тип свойства - это класс, который реализует NSCopying
. то есть любой класс, который можно отправить -copy
.
Моя книга описывает копию как атрибут (в следующем контексте): @property (неатомической, копия) – Foo
@foo : Извините, я посмотрел на слово «отправить» в ваш вопрос и предположил, что вы имели в виду сообщение '-send'. – JeremyP
@Foo: отредактирован, чтобы говорить о свойствах тоже. – JeremyP
Вы не можете скопировать код . Копировать - это метод экземпляра, он делает экземпляр клона из другого экземпляра. Чтобы экземпляр был доступен для копирования, ему необходимо реализовать протокол NSCopying
. Некоторые классы NSFundation/Cocoa реализуют его, некоторые - нет. Для тех, кому не нужно писать реализацию самостоятельно, используя категории. Но будьте осторожны, это может быть очень сложным для классов пользовательского интерфейса.
- 1. Какие классы алгоритмов можно использовать для расписания?
- 2. Как скопировать связанные классы
- 3. Какие классы Java Selector доступны?
- 4. Какие классы реализуют hashCode?
- 5. Какие классы нельзя подклассифицировать?
- 6. Какие типы/классы алгоритмов можно переделать в парадигме MapReduce?
- 7. scala скопировать поля обновления в классы case
- 8. Какие классы моделей должны представлять?
- 9. (.NET) Какие классы реализуют Microsoft.Office.Interop.Outlook.TimeZone
- 10. Какие классы Ruby поддерживают .clone?
- 11. Какие классы могут вызывать ConcurentModificationException?
- 12. Какие классы методов для создания?
- 13. Какие унаследованные классы в Java?
- 14. Какие классы создавали этот класс?
- 15. Можно скопировать CFTypeRef?
- 16. Можно ли добавлять классы?
- 17. Ограничить, какие классы могут расширять другой класс
- 18. maven-dependency-plugin: копировать пытается скопировать классы
- 19. Можно скопировать CALayer из UIView?
- 20. Какие классы помещают код штриха прогресса?
- 21. Можно ли перебирать черепахи/классы?
- 22. Где можно определить классы Java?
- 23. Как можно зашифровать объектные классы C
- 24. Какие вызовы unapply можно заменить скобками?
- 25. Как определить, какие классы являются сериализуемыми
- 26. Какие классы загружены как фасоль весной?
- 27. Видя, какие классы ящиков идут от
- 28. Как узнать, какие классы были скомпилированы
- 29. Java URLClassLoader: выбрать, какие классы импортировать
- 30. Grails: Какие классы должны быть классами домена?
Моя книга описывает копию как атрибут (в следующем контексте): @property (неатомической, копия) – Foo