swift 无法将类型 (_, _) -> _ 的值转换为预期的参数类型 '((_, CGFloat)) -> _
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: [=11=],
relatedBy: .equal,
toItem: self,
attribute: [=11=],
multiplier: multiplier,
constant: )
})
}
我们正在通过库生成 link 的预览,但出现以下错误:
cannot convert value of type (_, _) -> _ to expected argument type
'((_, CGFloat)) -> _" at .flapMap line.
我熟悉 Objective-C
但不熟悉 Swift
。代码中会出现什么问题?
正在调用错误的 addConstraints()
。
您正在呼叫 viewController.addConstraints()
,但您似乎想呼叫 view.addConstraints()
将第二个addConstraints()
改为view.addConstraints()
还需要使用Xcode 8.1以上的版本。
我用过和你一样的代码。只需将约束应用于 view
即可完美运行。
view.addConstraints([
(.centerX, center.x),
(.centerY, center.y)
].flatMap {
.init(item: view, attribute: [=10=], relatedBy: .equal, toItem: self, attribute: [=10=], multiplier: multiplier, constant: )
})
flatMap
语法没有问题。我已经在 Xcode-9
和 Xcode-8
上执行了代码,它没有给我任何错误。
只是使用了我上面写的相同代码,看看它是否编译正确。
我正在使用图书馆 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: [=11=],
relatedBy: .equal,
toItem: self,
attribute: [=11=],
multiplier: multiplier,
constant: )
})
}
我们正在通过库生成 link 的预览,但出现以下错误:
cannot convert value of type (_, _) -> _ to expected argument type '((_, CGFloat)) -> _" at .flapMap line.
我熟悉 Objective-C
但不熟悉 Swift
。代码中会出现什么问题?
正在调用错误的 addConstraints()
。
您正在呼叫 viewController.addConstraints()
,但您似乎想呼叫 view.addConstraints()
将第二个addConstraints()
改为view.addConstraints()
还需要使用Xcode 8.1以上的版本。
我用过和你一样的代码。只需将约束应用于 view
即可完美运行。
view.addConstraints([
(.centerX, center.x),
(.centerY, center.y)
].flatMap {
.init(item: view, attribute: [=10=], relatedBy: .equal, toItem: self, attribute: [=10=], multiplier: multiplier, constant: )
})
flatMap
语法没有问题。我已经在 Xcode-9
和 Xcode-8
上执行了代码,它没有给我任何错误。
只是使用了我上面写的相同代码,看看它是否编译正确。