weakプロパティの変数でaddSubviewする子Viewを保持する方法のメモ

ポイント

・一度別の変数に格納する

サンプルコード

@interface ViewController ()

@property (nonatomic, weak) UILabel *label;

@end

@implementation ViewController

@synthesize label;

– (void)viewDidLoad

{

    [super viewDidLoad];

    

    self.view.backgroundColor = [UIColor blackColor];

    

    // 間接的に代入するための変数を定義

    UILabel *l = [[UILabel alloc] init];

    

    // ここで、self.view と結びつけ、解放されないようにする

    [self.view addSubview:l];

    

    // weak propertyに代入

    label = l;

    label.text = @”weak label”;

    [label sizeToFit];

}

@end