2013-03-02 3 views
1

Моего кода в моем .h файлеСемантическая Проблема с ARC

@property (weak, nonatomic) IBOutlet UITextField *textFieldTask; 
@property (weak, nonatomic) IBOutlet UIBarButtonItem *buttonDone; 

и ошибка появляется

@synthesize из «слабого» имущества допускается только в ARC или GC режиме

, когда я заменить слабый сильным, кнопка не работает

Я не могу поместить его в режим ARC (он уничтожит мой проект)

Все, что я могу сделать?

+3

'weak' не означает, все под управлением ручного управления памятью. В этом случае он либо «удерживает», либо «присваивает». –

ответ

5

вам нужно использовать retain или assign, если вы не хотите использовать ARC

сохраняют

@property (retain, nonatomic) IBOutlet UITextField *textFieldTask; 
@property (retain, nonatomic) IBOutlet UIBarButtonItem *buttonDone; 

назначить

@property (assign, nonatomic) IBOutlet UITextField *textFieldTask; 
@property (assign, nonatomic) IBOutlet UIBarButtonItem *buttonDone; 
+2

unsafe_unretained - это то же самое, что и назначение в режиме MRC. –

+0

удержание не работает – user2102538

+0

Если ОП первоначально хотел «слабого», тогда следует использовать 'assign', а не' keep'. – rmaddy