小编Tay*_*day的帖子

初始化中的隐式解包选项 - Swift

在编写一个新的swift类时,在使用隐式解包的选项而不是普通的选项时,我仍然不会100%感到舒服.据我所知,如果您从未期望它的值为零,那么分配一些隐式展开(和可选)的东西应该没问题.如果它是nil,则它是一个异常事件,应该导致运行时错误.

例如,这个简单的登录视图包含两个文本域成员变量:

class SignInFieldView : UIView {

var emailField: UITextField!;
var passField: UITextField!;

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder);
    commonInit();
}

convenience override init(frame: CGRect) {
    self.init(frame: frame);
    commonInit();
}

func commonInit() {
    layoutEmail();
    layoutPass();
}

// MARK: Layout Text Fields

func layoutEmail() {
    let rect = CGRect(x: bounds.origin.x, y: bounds.origin.y, width: bounds.size.width, height: (bounds.size.height * 0.5));
    emailField = UITextField(frame: rect);
    addSubview(emailField);
}

func layoutPass() {
    let rect = CGRect(x: bounds.origin.x, y: bounds.origin.y + (bounds.size.height * 0.5), width: bounds.size.width, …
Run Code Online (Sandbox Code Playgroud)

design-patterns optional ios swift

2
推荐指数
1
解决办法
543
查看次数

标签 统计

design-patterns ×1

ios ×1

optional ×1

swift ×1