swiftyjson 慘痛經驗

23
SwiftyJSON 䙳ዳ妿涢 Hokila

Upload: hokila-jan

Post on 12-Apr-2017

581 views

Category:

Mobile


6 download

TRANSCRIPT

Page 1: SwiftyJSON   慘痛經驗

SwiftyJSON Hokila

Page 2: SwiftyJSON   慘痛經驗

star module

parser

Page 3: SwiftyJSON   慘痛經驗

app load

API response parse

Page 4: SwiftyJSON   慘痛經驗

1. 2. api spec 3. parser

Page 5: SwiftyJSON   慘痛經驗

NSData Model

Page 6: SwiftyJSON   慘痛經驗

NSData ModelNSDictionary

Objective-C

Page 7: SwiftyJSON   慘痛經驗

NSData ModelNSDictionary

Swift

Page 8: SwiftyJSON   慘痛經驗

NSData Model

Swift

Page 9: SwiftyJSON   慘痛經驗

NSData Model

Swift

[String:AnyObject]

Page 10: SwiftyJSON   慘痛經驗

NSData Model

Swift

[String:AnyObject]JSON

Page 11: SwiftyJSON   慘痛經驗

NSData Model

Swift

JSON

Page 12: SwiftyJSON   慘痛經驗

NSData ModelJSONSwiftyJSON Parser

Page 13: SwiftyJSON   慘痛經驗
Page 14: SwiftyJSON   慘痛經驗

SwiftyJSON

Page 15: SwiftyJSON   慘痛經驗

NSDictionary

Page 16: SwiftyJSON   慘痛經驗

parser 3

Page 17: SwiftyJSON   慘痛經驗

private func parseAndReloadUI(json:JSON){ let start = CACurrentMediaTime()

let candidateItems = self.parseJSON(json) print("time parse = \(CACurrentMediaTime() - start)") self.items = candidateItems

self.reloadUI() }

Page 18: SwiftyJSON   慘痛經驗

private func parseAndReloadUI(json:JSON){ let start = CACurrentMediaTime()

let candidateItems = self.parseJSON(json) print("time parse = \(CACurrentMediaTime() - start)") self.items = candidateItems

self.reloadUI() }

time parse = 3.6

Page 19: SwiftyJSON   慘痛經驗

private func parseAndReloadUI(json:JSON){ let start = CACurrentMediaTime()

let candidateItems = self.parseJSON(json) print("time parse = \(CACurrentMediaTime() - start)") self.items = candidateItems

self.reloadUI() }

time parse = 3.6time parse = 0.28

Page 20: SwiftyJSON   慘痛經驗

private func parseAndReloadUI(json:JSON){ let start = CACurrentMediaTime()

let candidateItems = self.parseJSON(json) print("time parse = \(CACurrentMediaTime() - start)") self.items = candidateItems

self.reloadUI() }

time parse = 3.6time parse = 0.28

code

Page 21: SwiftyJSON   慘痛經驗

parser• as? SwiftyJSON

• SwiftyJSON NSDictionary

• parse node cache reuse

Page 22: SwiftyJSON   慘痛經驗

NSData ModelJSONSwiftyJSON Parser

NSData ModelNSDictionaryNSJSONSerialization Parser

Page 23: SwiftyJSON   慘痛經驗

• SwiftyJSON NSJSONSerialization

• variable lazy