什么 - >(破折号大于)运算符意味着在Swift中

Kok*_*zzu 4 swift

我看一下GPUImage2的源代码

    picture = PictureInput(image:UIImage(named:"WID-small.jpg")!)
    filter = SaturationAdjustment()
    picture --> filter --> renderView
    picture.processImage()
Run Code Online (Sandbox Code Playgroud)

怎么-->办?

iOS*_*com 5

这是一个声明为目标目标添加到源的运算符.

infix operator --> : AdditionPrecedence
//precedencegroup ProcessingOperationPrecedence {
//    associativity: left
////    higherThan: Multiplicative
//}
@discardableResult public func --><T:ImageConsumer>(source:ImageSource, destination:T) -> T {
    source.addTarget(destination)
    return destination
}
Run Code Online (Sandbox Code Playgroud)

该函数在pipeline.swift文件中声明

addTarget功能也非常自我描述.

public func addTarget(_ target:ImageConsumer, atTargetIndex:UInt? = nil) {
    if let targetIndex = atTargetIndex {
        target.setSource(self, atIndex:targetIndex)
        targets.append(target, indexAtTarget:targetIndex)
        transmitPreviousImage(to:target, atIndex:targetIndex)
    } else if let indexAtTarget = target.addSource(self) {
        targets.append(target, indexAtTarget:indexAtTarget)
        transmitPreviousImage(to:target, atIndex:indexAtTarget)
    } else {
        debugPrint("Warning: tried to add target beyond target's input capacity")
    }
}
Run Code Online (Sandbox Code Playgroud)

按照其他人的说法进行编辑,操作员是该项目的自定义,并且自3月29日至2017年3月29日未使用快速语言构建