SwiftyJSON 慘痛經驗

  • View
    581

  • Download
    6

  • Category

    Mobile

Preview:

Citation preview

SwiftyJSON Hokila

star module

parser

app load

API response parse

1. 2. api spec 3. parser

NSData Model

NSData ModelNSDictionary

Objective-C

NSData ModelNSDictionary

Swift

NSData Model

Swift

NSData Model

Swift

[String:AnyObject]

NSData Model

Swift

[String:AnyObject]JSON

NSData Model

Swift

JSON

NSData ModelJSONSwiftyJSON Parser

SwiftyJSON

NSDictionary

parser 3

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

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

self.reloadUI() }

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

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

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

parser• as? SwiftyJSON

• SwiftyJSON NSDictionary

• parse node cache reuse

NSData ModelJSONSwiftyJSON Parser

NSData ModelNSDictionaryNSJSONSerialization Parser

• SwiftyJSON NSJSONSerialization

• variable lazy

Recommended