Pra*_*man 3 swift objectmapper
我正在查看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())
}
Run Code Online (Sandbox Code Playgroud)
另外下面的行是如何工作的
birthday <- (map["birthday"], DateTransform())
Run Code Online (Sandbox Code Playgroud)
我知道birthday现在是一个元组。可以通过以下方式访问
self.birthday.0
self.birthday.1
Run Code Online (Sandbox Code Playgroud)
虽然属性是这样定义的
var birthday: NSDate?
Run Code Online (Sandbox Code Playgroud)
元组如何响应 a NSDate(在本例中)?
谢谢!
如果您查看其核心库中的 Operators.Swift 文件,您会发现其自定义运算符的所有重载。
他定义了他的自定义运算符:
infix operator <- {}
Run Code Online (Sandbox Code Playgroud)
然后他的操作符有相当多的重载,这是他列表中的第一个重载:
/// 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)
}
}
Run Code Online (Sandbox Code Playgroud)
您需要仔细检查他的每个重载才能了解它们的功能,他有数十个重载。
| 归档时间: |
|
| 查看次数: |
1778 次 |
| 最近记录: |