objective-c - iOS中UIView调用removeFromSuperView之后没有释放内存
伊谢尔伦
伊谢尔伦 2017-04-18 09:40:45
0
2
1079

我有一个自定义的UITableViewCell,暂且叫ACell,该cell有以下属性:

@property (nonatomic, strong) UILabel *titleLabel;
@property (nonatomic, strong) UIButton *deleteButton;

全部addSubview到cell的contentView,主要是点击deleteButton之后把titleLabel移除:

- (void)deleteButtonClicked {
    [self.titleLabel removeFromSuperview];
}

执行以上语句之后我发现,titleLabel还是存在于内存中。就像下面这样:

怎么样才能让它立即销毁

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(2)
黄舟

その理由は、ACell がまだ titleLabel オブジェクトを保持しているためです。
解決策: self.titleLabel = nil;

いいねを押す +0
左手右手慢动作

strong をweak に置き換えます。注意すべき点は、addsubview

の後に属性をコピーすることです。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!