Swift中的自动布局:'字符串'与'NSObject'不相同

时间:2014-11-26 15:27:40

标签: swift autolayout

我正在关注此页面上的教程:

http://makeapppie.com/2014/07/26/the-swift-swift-tutorial-how-to-use-uiviews-with-auto-layout-programmatically/

我在代码中达到了这一点:

let dict = ["list":list]
let lcH = NSLayoutConstraint.constraintsWithVisualFormat("H:[list(100)]", options: NSLayoutFormatOptions(0), metrics: nil, views: dict)

最后一行产生了这个错误(箭头指向dict):

'String' is not identical to 'NSObject'

我最初试图将Objective C code in this tutorial转换为Swift,我在同一个地方得到了完全相同的错误。那时我认为这是我错误地转换代码的结果,但现在我正在遵循这个Swift教程并得到完全相同的结果。

有谁能让我知道我做错了什么?

1 个答案:

答案 0 :(得分:5)

选项点击dict。这将告诉你Swift推断它的类型。我猜它是[String: UIView?]。字典中的值不能是选项,因此您需要在创建list时展开dict

let dict = ["list":list!]