Отвечая на ваш вопрос, насколько мне известно. Во-первых, в чем разница между сохранением и копированием? каково его значение при подсчете ссылок?
сохранить - «Указывает, что сохранение должно быть вызвано для объекта при назначении. ... Предыдущее значение отправляется сообщением об освобождении». Итак, вы можете представить себе присвоение экземпляра NSString (который является объектом и который вы, вероятно, захотите сохранить). Таким образом, счетчик удержания увеличивается на 1.
copy - «Указывает, что для назначения должна использоваться копия объекта. ... Предыдущее значение отправляется сообщением об освобождении.» В основном то же, что и сохранить, но отправка -copy, а не -retain. Если я правильно помню, счет тоже увеличится на 1.
хорошо, теперь более подробно.
Атрибуты свойств - это специальные ключевые слова, которые сообщают компилятору, как создавать геттеры и сеттеры. Здесь вы указываете два атрибута свойства: неатомический, который сообщает компилятору не беспокоиться о многопоточности, и сохраняет, который сообщает компилятору, что нужно сохранить переданную переменную перед установкой переменной экземпляра.
В других ситуациях вы можете захотеть использовать атрибут свойства «assign» вместо сохранения, который сообщает компилятору НЕ! чтобы сохранить переданную переменную. Или, возможно, атрибут свойства «копировать», который создает копию переданной переменной перед установкой.
Надеюсь, это поможет. Я нашел здесь еще один пост, который тоже может вам помочь.
Цель C - назначить, скопировать, сохранить
Ваше здоровье! Хосе
person
Jiraheta
schedule
16.03.2012