错误Nil默认参数值无法转换为'NSLayoutFormatOptions'类型

upl*_*com 12 xcode7 swift2

我已升级到swift 2,这个功能让我头疼.

这在尝试运行应用程序时导致错误.我不知道如何修复此问题,因为我正在尝试将其升级到swift 2.我已经进行了大量搜索,但无法修复代码.NSLayoutFormatOptions = nil在创建函数时发生错误:

internal extension UIView {

    func addConstraints(format format: String, options: NSLayoutFormatOptions = nil, metrics: [String: AnyObject]? = nil, views: [String: UIView]) {
        addConstraints(NSLayoutConstraint.constraintsWithVisualFormat(format, options: options, metrics: metrics, views: views))
    }

    func addUniversalConstraints(format format: String, options: NSLayoutFormatOptions = nil, metrics: [String: AnyObject]? = nil, views: [String: UIView]) {
        addConstraints(format: "H:\(format)", options: options, metrics: metrics, views: views)
        addConstraints(format: "V:\(format)", options: options, metrics: metrics, views: views)
    }

}
Run Code Online (Sandbox Code Playgroud)

谢谢你,如果你能帮忙的话.:)

您诚挚的Gerard Grundy

aya*_*aio 17

您的options参数未声明为Optional,因此您无法设置默认值nil.

要么options选择:

func addConstraints(format format: String, options: NSLayoutFormatOptions? = nil, metrics: [String: AnyObject]? = nil, views: [String: UIView])
Run Code Online (Sandbox Code Playgroud)

= nil从签名中删除:

func addConstraints(format format: String, options: NSLayoutFormatOptions, metrics: [String: AnyObject]? = nil, views: [String: UIView])
Run Code Online (Sandbox Code Playgroud)