Swift中的自动布局:';字符串';与';NSObject';

Swift中的自动布局:';字符串';与';NSObject';,swift,autolayout,Swift,Autolayout,我将遵循本页上的教程: 我在代码中提到了这一点: let dict = ["list":list] let lcH = NSLayoutConstraint.constraintsWithVisualFormat("H:[list(100)]", options: NSLayoutFormatOptions(0), metrics: nil, views: dict) 最后一行产生了这个错误(箭头指向dict): 我最初试图将over转换为Swift,但我在同一个地方得到了完全相同的错误。当

我将遵循本页上的教程:

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

let dict = ["list":list]
let lcH = NSLayoutConstraint.constraintsWithVisualFormat("H:[list(100)]", options: NSLayoutFormatOptions(0), metrics: nil, views: dict)
最后一行产生了这个错误(箭头指向dict):

我最初试图将over转换为Swift,但我在同一个地方得到了完全相同的错误。当时我认为这是我错误地转换代码的结果,但现在我遵循这个Swift教程,得到了完全相同的结果

有人能告诉我我做错了什么吗?

选项单击
dict
。这将告诉你斯威夫特推断出的类型。我猜是
[String:UIView?]
。字典中的值不能是可选值,因此在创建
dict
时需要展开
list

'String' is not identical to 'NSObject'
let dict = ["list":list!]

伟大的感谢您的支持-现在,当我添加约束时,它正在抱怨
'NSArray'不是'NSLayoutConstraint'的子类型
NSLayoutConstraint.constraintsWithVisualFormat()
返回一个约束数组。它的类型是
[AnyObject]
-AnyObject
的数组。您需要调用
addConstraint
,而不是
addConstraint
。它返回一个约束数组的原因是视觉格式可以而且经常导致创建多个约束。。。。对着屏幕挥动我的拳头。谢谢瓦卡瓦马