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