我有一个使用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"
}
}
<|
在这里代表什么?
谢谢。
答案 0 :(得分:8)
如果您查看此Marshal source code,则可以看到它的含义。自定义运算符。 此自定义运算符用于通过键从MarshaledObject字典中获取值。
// MARK: - <| Operator
infix operator <|
public func <| <A: ValueType>(dictionary: MarshaledObject, key: String) throws -> A {
return try dictionary.value(for: key)
}