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 回答
-4

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

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

于 2016-07-13T22:03:19.747 回答