Определения @property с ARC: сильные или сохраняются?

Используя Xcode 4.2 и ARC, я замечаю, что автоматически сгенерированный код для NSManagedObject прежнему читается следующим образом для свойств:

 @property (nonatomic, retain) NSString * someString; 

1) Не следует ли теперь заменять strong или weak ?

2) Почему автогенерированный код все еще использует

3) Какая правильная замена для retain в этом заявлении свойства?

Я в настоящее время отлаживаю проблему, используя NSFetchRequest , и я думал, что это может быть источником проблемы. Мысли?

    1) Не следует ли теперь заменять сильным или слабым?

    Нет. Вы не можете заменить сохранение слабым; они разные. И сильный – это синоним 100% для сохранения; они идентичны. Вы можете использовать любой из них, поэтому здесь нет «нужно». Вы можете заменить сохранение сильным, если хотите, но вам этого не нужно.

    2) Почему автогенерированный код все еще использует

    Почему нет? См. (1). сохранить правильно, поэтому проблем нет.

    3) Какая правильная замена для сохранения в этом заявлении свойства?

    Нет необходимости заменять удержание.

    Я в настоящее время отлаживаю проблему, используя NSFetchRequest, и я думал, что это может быть источником проблемы. Мысли?

    Это не так.

    Чтобы ответить на все три вопроса в одном: retain и strong синонимы друг другу, так что оба правильны. В документации указано

    retain подразумевает __strong собственность

    strong подразумевает __strong собственность

    Перед ARC вы должны «освободить» объект, который сохраняется. Это означает, что удержание имеет счетную часть. После ARC вам не нужно выпускать. Поэтому используйте сильные. Его визуальный ключ, который вам не нужно вызывать.

    «сохранить» равно «сильному».

    «сильный» используется, например:

     @property (nonatomic, strong) NSString * someString; 

    И «__strong» используется, например:

     -(void) someMethod { __strong NSString* vStr = [[NSString alloc] initWithString:@"some string"]; } 

    В Apple Docs. говорит:

    Атрибуты свойств

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

     // The following declaration is a synonym for: @property(retain) MyClass *myObject; property(strong) MyClass *myObject; 

    Apple doc. http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html

    Interesting Posts

    Раздел недоступен после изменения размера с помощью gparted. Как его восстановить?

    Временная метка Java. Как создать временную метку с датой 23/09/2007?

    Как скрыть элемент от просмотра Recycler в определенном состоянии?

    Big-O для восьмилетних детей?

    Разрешения Android M: запутано в использовании функции shouldShowRequestPermissionRationale ()

    gcc: зачем нужен флаг -lm для связывания математической библиотеки?

    Вложение изображения в приложение Shiny

    Как запустить функцию jquery в Angular 2 после каждой загрузки компонента

    Может ли dplyr суммировать несколько переменных без enums каждого из них?

    Как очистить кеш шрифтов в mac

    Как распаковать файл из памяти, отображаемой с помощью FileChannel в java?

    Где находится каталог bash Windows в Windows?

    Что возвращает задание?

    Как работает ViewBag в ASP.NET MVC

    Почему для MediaPlayer для Android требуется много времени для подготовки некоторых живых streamов для воспроизведения?

    Давайте будем гением компьютера.