我在swift 4.0 source code中看到了'>>> - '符号,我在文档中搜索了这个符号的引用我找不到它,Xcode抛出了我错误Use of unresolved operator '>>>-'
有人可以解释这个符号是什么意思吗?为什么呢?
感谢
答案 0 :(得分:2)
Swift不提供该运算符。它是由该库的作者定义的自定义运算符。
您可以在另一个file中找到该定义:
precedencegroup constOp {
associativity: left
higherThan: AssignmentPrecedence
}
infix operator >>>-: constOp
@discardableResult
func >>>- <T: UIView>(left: (T, T), block: (inout ConstraintInfo) -> Void) -> NSLayoutConstraint {
var info = ConstraintInfo()
block(&info)
info.secondAttribute = info.secondAttribute == .notAnAttribute ? info.attribute : info.secondAttribute
let constraint = NSLayoutConstraint(item: left.1,
attribute: info.attribute,
relatedBy: info.relation,
toItem: left.0,
attribute: info.secondAttribute,
multiplier: 1,
constant: info.constant)
constraint.identifier = info.identifier
left.0.addConstraint(constraint)
return constraint
}
由于函数func >>>- <T: UIView>(left: (T, T), block: (inout ConstraintInfo) -> Void) -> NSLayoutConstraint
未声明为公共,因此您无法在其声明模块之外使用它。