首页 > 解决方案 > Objective C 的 Swift 语法

问题描述

在 Obj CI 中创建了一个属性

@property(nonatomic) UILabel *subscriptionText;

然后我为该属性 UILabel 创建了一个 setter 方法。像下面

-(UILabel *)subscriptionText{
    if (!_subscriptionText) {
        _subscriptionText = [UILabel new];
        _subscriptionText.translatesAutoresizingMaskIntoConstraints = NO;
   _subscriptionText.textAlignment = NSTextAlignmentJustified;


    }
    return _subscriptionText;
}

然后在 viewdidload 我添加这个视图

[self.view addSubview:self.subscriptionText];

如何在 Swift 4.2 中执行相同的场景。

标签: iosobjective-cswift

解决方案


延迟初始化是您所需要的。

lazy var subscriptionText: UILabel = {
    let label = UILabel()
    label.textAlignment = .justified

    label.translatesAutoresizingMaskIntoConstraints = false
    return label
}()

func viewDidLoad() {
    super.viewDidLoad()

    view.addSubview(subscriptionLabel)

    // Label constraints
}

推荐阅读