[英]Swift sorted by error: Cannot convert value of type 'CGFloat?' to expected argument type 'Self'
[英]swift cannot convert value of type (_, _) -> _ to expected argument type '((_, CGFloat)) -> _
我正在使用庫URLEmbeddedView
它在其庫中定義以下代碼:
func addConstraints(with view: UIView, center: CGPoint, multiplier: CGFloat = 1) {
view.translatesAutoresizingMaskIntoConstraints = false
addConstraints([
(.centerX, center.x),
(.centerY, center.y)
]
.flatMap {
.init(item: view,
attribute: $0,
relatedBy: .equal,
toItem: self,
attribute: $0,
multiplier: multiplier,
constant: $1)
})
}
我們正在通過庫生成鏈接的預覽,但是發生以下錯誤:
無法在.flapMap行將(_,_)-> _類型的值轉換為期望的參數類型'((_,CGFloat))-> _“。
我熟悉Objective-C
但不熟悉Swift
。 代碼中的問題是什么?
錯誤的addConstraints()
被調用。
您要在調用viewController.addConstraints()
時要調用view.addConstraints()
將第二個addConstraints()
更改為view.addConstraints()
還必須使用8.1以上的Xcode版本。
我使用了與您相同的代碼。 只需將約束應用於view
正常運行。
view.addConstraints([
(.centerX, center.x),
(.centerY, center.y)
].flatMap {
.init(item: view, attribute: $0, relatedBy: .equal, toItem: self, attribute: $0, multiplier: multiplier, constant: $1)
})
flatMap
語法沒有問題。 我已經在Xcode-9
和Xcode-8
上執行了代碼,但沒有給我任何錯誤。
只是使用了我上面編寫的相同代碼,然后看它是否可以正確編譯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.