6

Я знаю, что было много написаний о «сильных» против «слабых». Но все документы говорят, что оба являются 100% синонимами друг для друга, и вы можете использовать «сильные» вместо «сохранить» и наоборот.Strong vs Retain in ARC

Мой вопрос: если они такие же, почему Apple представила новое «сильное» ключевое слово? Я тестировал оба в примере проекта, и оба атрибута свойств «сильный» и «сохранить», похоже, делают то же самое. Разве вы не думаете, что если Apple представит «сильный» атрибут, он должен запретить использование атрибута «сохранить»? Или я чего-то не хватает?

+1

http://stackoverflow.com/questions/8927727/objective-c-arc-strong-vs-retain-and-weak-vs-assign –

+1

«сильные» и «удержанные» практически одинаковы, но потому что в ARC вам не нужно беспокоиться о _retaining-release_объектах, «сильный» логически более подходит для свойства в ARC ... как в MRR, 'keep' имеет противоположный эквивалент как' release' или ' autorelease', в среде ARC «сильный» не имеет такого противоположного эквивалента, поэтому логически более корректно использовать «сильный» вместо «сохранить» в ARC; если это имеет смысл для вас. – holex

+0

@ Каточ Я прочитал, что его указание на то же самое сильное = сохрани, что я понимаю. Но вопрос заключается в том, почему создать сомнение в отношении разработчика (хотя я всегда пользуюсь сильным), поскольку сохранение было связано с ручным управлением памятью, они должны полностью прекратить использование сохранения в проектах ARC, почему он все еще имеет свое место в ARC ? – IOSCODER

ответ

9

retain - это остаток от дней до ARC, где вы увеличивали бы/уменьшали объекты retain count в зависимости от того, хотите ли вы, чтобы он повесился в памяти.

Очевидно, что с ARC вам больше не придется беспокоиться об этом, и я подозреваю, что retain может быть просто оставлен для удобства использования для более опытных программистов с объективом c.

Ключевыми словами, наиболее распространенными с дугой, являются: (strong, weak, nonatomic, readonly, copy).

+0

да, я думаю, мы можем дать это объяснение. – IOSCODER