Я использовал для объявления всех свойств делегата как
@property (assign) id<FooDelegate> delegate;
У меня создалось впечатление, что все свойства присваивания теперь должны быть слабыми указателями, верно ли это? Если я попытаюсь объявить как:
@property (weak) id<FooDelegate> delegate;
Я получаю сообщение об ошибке при попытке @synthesize (автогенерируемые слабые свойства не поддерживаются).
Какая наилучшая практика в этом случае?