2

私のものではないコードを Swift 3.0 に変換していますが、コンパイラによってフラグが立てられている、理解できない行がいくつかあります。

public func setupAppearance()
{
    if let delegate = delegate
    {
        firstWeekday~>delegate.firstWeekday?()
        dayOfWeekTextColor~>delegate.dayOfWeekTextColor?()
        dayOfWeekTextUppercase~>delegate.dayOfWeekTextUppercase?()
        dayOfWeekFont~>delegate.dayOfWeekFont?()
        weekdaySymbolType~>delegate.weekdaySymbolType?()
    }
}

これは -> (ダッシュ、より大きい) ではなく ~> (チルダ、より大きい) ではないことに注意してください。

私はこの質問を見つけました: Swift で使用される ~> (チルダより大きい) 演算子は何ですか? しかし、あまり役に立ちませんでした。

誰かがこれを読む方法についてのドキュメントを教えてもらえますか? 残念ながら、Google、stackoverflow、github では ~> を検索できません。

ありがとう

グレッグ

4

2 に答える 2

1

元の開発者は、 iJoshSmithによるスレッド マーシャリングに Swift カスタム オペレータを使用していたと思います。

func ~> <R> (
    backgroundClosure: () -> R,
    mainClosure:       (result: R) -> ())
{
    dispatch_async(queue) {
        let result = backgroundClosure()
        dispatch_async(dispatch_get_main_queue(), {
            mainClosure(result: result)
        })
    }
}
于 2016-07-13T22:36:32.850 に答える