什么〜> (代字号大于)意味着在这个Swift代码中?

时间:2016-07-13 21:59:29

标签: swift operators swift3 tilde

我正在将不属于我的代码转换为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?()
    }
}

注意这不是 - > (破折号,大于)但是〜> (代字号,大于)

我确实发现了这个问题: What is the ~> (tilde greater than) operator used for in Swift?但是没有发现它非常有帮助。

有人能指点我如何阅读本文吗?不幸的是google,stackoverflow和github无法搜索〜>。

由于

格雷格

2 个答案:

答案 0 :(得分:1)

我相信原始开发人员使用Swift自定义运算符进行iJoshSmith的线程编组。

func ~> <R> (
    backgroundClosure: () -> R,
    mainClosure:       (result: R) -> ())
{
    dispatch_async(queue) {
        let result = backgroundClosure()
        dispatch_async(dispatch_get_main_queue(), {
            mainClosure(result: result)
        })
    }
}

答案 1 :(得分:-4)

我相信这些是按位NOT运算符。见这里:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AdvancedOperators.html

  

按位NOT运算符(〜)反转数字中的所有位。