2015-12-10 87 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

相關問題