2011-10-19 4 views
0

Предполагая новый проект с АРК включен создаетсяОб управлении памятью Xcode4.2, разъяснение необходимости

@autoreleasepool { 
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 
} 

и следующее объявление

@property (nonatomic) NSString *classDescription; 

Почему бы

@synthesize classDescription; 

ошибка с

"Existing ivar 'classDescription' for unsafe_unretained propery 'classDescription must be _unsafe_unretained" 

Я думал, что с версией 4.2 Xcode никаких изменений не требуется. Неверное ли это?

Просьба уточнить

+0

Описывает ли ARC модификатор 'copy' на свойство NSString? – Lukman

ответ

2

Вы должны сделать это strong собственности, чтобы ARC знал, что он должен сохранить объект.

+0

. Это решает проблему, однако я задаюсь вопросом, ссылается ли это на какой-нибудь справочник в Интернете? Ссылка – JAM

0

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

+0

Это новый проект. С включенным ARC. Вот почему я обнаружил, что это странно, чтобы увидеть эту ошибку. – JAM

0

Если ваш проект был выполнен до Xcode 4.2, вы можете включить его, выбрав «Настройка параметров», «Поиск по объекту-C++» и отметьте галочкой.

+0

Это совершенно новый проект с включенным ARC. – JAM

Смежные вопросы