在 Swift 中使用 <-
Working with <- in Swift
我在看 ObjectMapper 图书馆。并注意到 <-
运算符。
这究竟是如何工作的?
// Mappable
func mapping(map: Map) {
username <- map["username"]
age <- map["age"]
weight <- map["weight"]
array <- map["arr"]
dictionary <- map["dict"]
bestFriend <- map["best_friend"]
friends <- map["friends"]
birthday <- (map["birthday"], DateTransform())
}
下面这行是如何工作的
birthday <- (map["birthday"], DateTransform())
我知道 birthday
现在是一个元组。
可以访问
self.birthday.0
self.birthday.1
尽管 属性 是这样定义的
var birthday: NSDate?
元组如何响应为 NSDate
(在本例中)?
谢谢!
如果您 look at his Operators.Swift 在他的核心库中归档,您会找到他的自定义运算符的所有重载。
他定义了他的自定义运算符:
infix operator <- {}
然后他的运算符有很多重载,这是他列表中的第一个重载:
/// Object of Basic type
public func <- <T>(inout left: T, right: Map) {
switch right.mappingType {
case .FromJSON:
FromJSON.basicType(&left, object: right.value())
case .ToJSON:
ToJSON.basicType(left, map: right)
}
}
您需要仔细研究他的每个重载才能了解它们的功能,他有 几十个 个。
Operators
我在看 ObjectMapper 图书馆。并注意到 <-
运算符。
这究竟是如何工作的?
// Mappable
func mapping(map: Map) {
username <- map["username"]
age <- map["age"]
weight <- map["weight"]
array <- map["arr"]
dictionary <- map["dict"]
bestFriend <- map["best_friend"]
friends <- map["friends"]
birthday <- (map["birthday"], DateTransform())
}
下面这行是如何工作的
birthday <- (map["birthday"], DateTransform())
我知道 birthday
现在是一个元组。
self.birthday.0
self.birthday.1
尽管 属性 是这样定义的
var birthday: NSDate?
元组如何响应为 NSDate
(在本例中)?
谢谢!
如果您 look at his Operators.Swift 在他的核心库中归档,您会找到他的自定义运算符的所有重载。
他定义了他的自定义运算符:
infix operator <- {}
然后他的运算符有很多重载,这是他列表中的第一个重载:
/// Object of Basic type
public func <- <T>(inout left: T, right: Map) {
switch right.mappingType {
case .FromJSON:
FromJSON.basicType(&left, object: right.value())
case .ToJSON:
ToJSON.basicType(left, map: right)
}
}
您需要仔细研究他的每个重载才能了解它们的功能,他有 几十个 个。