【问题标题】:error Nil default argument value of cannot be converted to type 'NSLayoutFormatOptions'错误 Nil 默认参数值无法转换为类型 'NSLayoutFormatOptions'
【发布时间】:2015-09-20 12:48:59
【问题描述】:

我已经升级到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)
    }

}

如果你能提供帮助,谢谢。 :)

此致 杰拉德·格兰迪

【问题讨论】:

    标签: swift2 xcode7


    【解决方案1】:

    您的options 参数未声明为可选,因此您不能设置nil 的默认值。

    options 设为可选:

    func addConstraints(format format: String, options: NSLayoutFormatOptions? = nil, metrics: [String: AnyObject]? = nil, views: [String: UIView])
    

    或从签名中删除= nil

    func addConstraints(format format: String, options: NSLayoutFormatOptions, metrics: [String: AnyObject]? = nil, views: [String: UIView])
    

    【讨论】:

    • 好的,虽然现在我在这里遇到了一个错误: public func selectRowAtIndex(index: Index) { selectedRowIndex = index tableView.selectRowAtIndexPath( NSIndexPath(forRow: index, inSection: 0), 动画:假,滚动位置:.Middle)}
    • 这是一个完全不同的问题,我不知道如何为您提供帮助...我建议您发布一个包含详细信息的新问题,以便其他人解决这个新问题.
    • 通过将 scrollPosition: .Middle 设置为 scrollPosition: .None 解决了这个问题
    猜你喜欢
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 2023-02-05
    • 1970-01-01
    • 2023-04-04
    • 2016-05-03
    • 1970-01-01
    相关资源
    最近更新 更多