2015-12-10 47 views
0

我的这两个函数有问题。对于FUNC 1:以编程方式自动布局函数

func constrainWidth(width: CGFloat) -> [NSLayoutConstraint] { 
    let constraints = NSLayoutConstraint.constraintsWithVisualFormat("H:[item(width)]", metrics: ["width" : width], views: ["item" : self]) 
    self.superview?.addConstraints(constraints) 
    return constraints as! [NSLayoutConstraint] 
} 

我在得到一个错误,他们有一个问题,“约束” 和它说:“self.superview .addConstraints(约束)?”: 不能转换类型的值的任何对象]到预期参数类型 '[NSLayoutConstraint]'

这里是FUNC 2:

class func constraintsWithVisualFormat(visualFormat: String, options: NSLayoutFormatOptions, views: [NSObject : AnyObject]) -> [AnyObject] { 
    return NSLayoutConstraint.constraintsWithVisualFormat(visualFormat, options: options, metrics: nil, views: views) 
} 

我得到在“返回NSLayoutConstraint.constraintsWithVisualFormat(visualFormat,同一个错误tions:options,metrics:nil,views:views)“他们对”视图“ 有问题,它表示:*无法将类型[NSObject:AnyObject]的值转换为期望的参数类型'[String:AnyObject]'

这些功能不会互相影响,我只需要帮助他们两个。我以前没有这个问题,最近刚刚出现,因为新的迅速。

回答

0

对于FUNC 1

还有就是options参数缺少,它甚至没有在我的XCode编译。当我添加options参数时,它会编译运行没有问题的&。

对于FUNC 2

它会告诉什么是错的 - 你交出的意见参数定义为[NSObject : AnyObject],但它必须是[String: AnyObject]

+0

您的惊人!我有func 1工作。 任何建议,我应该把功能2?我知道它假设是一个字符串,但我不确定是什么?或者如果我需要使一个字典的意见,并有一个键和值? @TheEye –

+0

那么,你可以在func 1中看到视图字典的内容是什么 - 一个字符串键和一个视图对象。视图字典的函数参数的定义必须是[String:AnyObject]。 – TheEye

相关问题