Я хотел бы получить больше информации о ARC и слабой и сильной ссылке:
На самом деле, если у меня есть:
@interface
@property (weak) IBOutlet UIButton * button
@property (weak) UIView *subview
@end
@implementation
-(BOOL) viewDidLoad
{
UIView *aSubView= [[UIView alloc]....];
[self.view addSubview:aSubview];
self.subview = aSubview;
}
Это нормально иметь слабую ссылку на кнопку, потому что ее супервизор имеет сильную ссылку на нее.
Теперь я добавляю UIView
программно, я также ставлю слабую ссылку, потому что, когда я добавлю этот subView в superview, будет сильная ссылка. Первый вопрос: хороший ли это метод?
Теперь мои настоящие проблемы связаны со вторым исходным кодом с коллекцией. Что я могу положить с IBOutletCollection
?
И если я хочу сохранить массив представлений, которые добавляются программно, я не могу, потому что NSArray
сохраняйте сильную ссылку и супервизор представлений, поэтому будут некоторые утечки. Как я могу иметь NSArray
моих подвидов без утечек?
@property (?) IBOutletCollection .....
@property (?) NSArray *subviews
-(BOOL) viewDidLoad
{
?
}
strong
вместоweak
; на самом деле это обычное дело, если вы удаляете подпредставление из одного места и позже добавляете его в другое суперпредставление. - person Aaron Brager   schedule 24.10.2013