Interface Builder を使用して UI を作成し、IBOutlets にアタッチすると、常にプロパティを弱いに設定します...
@property (nonatomic, weak) IBOutlet UILabel *someLabel;
次に、のコードでorUIViewController
を参照でき、正常に動作します。self.someLabel
_someLabel
しかし、コードでUIを設定すると...
@property (nonatomic, weak) UILabel *someLabel;
と...
self.someLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,10,10)];
その後、警告が表示されます...
Assigning retained object to weak property; object will be released after assignment.
これに対する私の通常の修正は、プロパティを変更するstrong
ことですが、これが正しいかどうかわかりませんか?
それは大丈夫ですか?そうでない場合、これを修正する別の方法はありますか?