使用 SnapKit 库时获取 SIGABRT

Getting SIGABRT when using SnapKit library

我有以下代码:

//  ViewController.swift
//  Copypasta Keyboard
//
//  Created by vroy on 5/30/16.
//  Copyright © 2016 vroy. All rights reserved.
//

import UIKit
import SnapKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.


        let thankYouMessage = UILabel()
        thankYouMessage.text = "Thank You for Installing the Keyboard."
        thankYouMessage.textAlignment = .Center
        thankYouMessage.numberOfLines = 1


        thankYouMessage.snp_makeConstraints { (make) -> Void in
              //The program crashes if either of the following two lines are uncommented.
              make.top.left.right.equalTo(0) 
              make.height.equalTo(self.view.snp_height).multipliedBy(0.2)
        }


        self.view.addSubview(thankYouMessage)


    }

}

如果两行中的任何一行:

make.top.left.right.equalTo(0) 

make.height.equalTo(self.view.snp_height).multipliedBy(0.2)

被执行我得到一个 SIGABRT 错误:

我正在使用 SnapKit 库版本 0.19.0

我该怎么办?

您需要在进行约束之前添加子视图。所以把代码变成这样:

    let thankYouMessage = UILabel()
    thankYouMessage.text = "Thank You for Installing the Keyboard."
    thankYouMessage.textAlignment = .Center
    thankYouMessage.numberOfLines = 1

    self.view.addSubview(thankYouMessage)

 thankYouMessage.snp_makeConstraints { (make) -> Void in
              //The program crashes if either of the following two lines are uncommented.
              make.top.left.right.equalTo(0) 
              make.height.equalTo(self.view.snp_height).multipliedBy(0.2)
        }