什么`<|`在Swift中意味着什么

Rat*_*ker -3 unmarshalling ios swift

我有一个使用Marshal的代码.

class MediaModel: Unmarshaling {
    var id: Int64
    var videoUrl: String?
    var text: String?

    required init(object: MarshaledObject) throws {
        id =        try object <| "id"
        videoUrl =  try? object <| "videos.original_url"
        text =      try? object <| "text"
    }
}
Run Code Online (Sandbox Code Playgroud)

什么<|代表这里?

提前致谢.

Ahm*_*tem 9

如果您查看此Marshal源代码,您可以看到它代表的含义.自定义操作员写.此自定义运算符用于按键从MarshaledObject字典获取值.

// MARK: - <| Operator

infix operator <|

public func <| <A: ValueType>(dictionary: MarshaledObject, key: String) throws -> A {
    return try dictionary.value(for: key)
}
Run Code Online (Sandbox Code Playgroud)