我有以下变量定义:
var mapHorizontalConstraints:Array = Array<NSLayoutConstraint>()
Run Code Online (Sandbox Code Playgroud)
后来当我尝试使用Visual Format Language设置我的约束数组的值时,如下所示:
mapHorizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("|-0-[mapView]-0-|",
options: NSLayoutFormatOptions(0),
metrics: nil,
views: ["mapView":mapView])
Run Code Online (Sandbox Code Playgroud)
我收到"无法找到接受提供的参数的'__version'的重载",带有一个小箭头指向"="上面的赋值.
我相信这是因为我们无法使用添加到数组"=".如果我可以使用数组的append()函数添加多个元素,我会尝试过,但是你知道append()只接受一个元素.
所以只是想知道这是否是我的问题,如果是这样,我如何在Swift中向数组中添加多个元素?
你不能设置一个变量来键入Array,你需要明确地写出类型,如下所示:
var mapHorizontalConstraints:Array<NSLayoutConstraint> = ...
或者更简单地说,
var mapHorizontalConstraints: [NSLayoutConstraint] = ...
如评论中所述,NSLayoutConstraint.constraintsWithVisualFormat退货[AnyObject]!
因此,当你指定它时,你应该像这样贬低:
mapHorizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("|-0-[mapView]-0-|",
options: 0,
metrics: nil,
views: ["mapView":mapView]) as [NSLayoutConstraint]
Run Code Online (Sandbox Code Playgroud)
您可以与+=运营商一起追加.
| 归档时间: |
|
| 查看次数: |
863 次 |
| 最近记录: |