swiftyjson 慘痛經驗
TRANSCRIPT
![Page 1: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/1.jpg)
SwiftyJSON Hokila
![Page 2: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/2.jpg)
star module
parser
![Page 3: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/3.jpg)
app load
API response parse
![Page 4: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/4.jpg)
1. 2. api spec 3. parser
![Page 5: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/5.jpg)
NSData Model
![Page 6: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/6.jpg)
NSData ModelNSDictionary
Objective-C
![Page 7: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/7.jpg)
NSData ModelNSDictionary
Swift
![Page 8: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/8.jpg)
NSData Model
Swift
![Page 9: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/9.jpg)
NSData Model
Swift
[String:AnyObject]
![Page 10: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/10.jpg)
NSData Model
Swift
[String:AnyObject]JSON
![Page 11: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/11.jpg)
NSData Model
Swift
JSON
![Page 12: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/12.jpg)
NSData ModelJSONSwiftyJSON Parser
![Page 13: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/13.jpg)
![Page 14: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/14.jpg)
SwiftyJSON
![Page 15: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/15.jpg)
NSDictionary
![Page 16: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/16.jpg)
parser 3
![Page 17: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/17.jpg)
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 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/18.jpg)
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 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/19.jpg)
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 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/20.jpg)
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 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/21.jpg)
parser• as? SwiftyJSON
• SwiftyJSON NSDictionary
• parse node cache reuse
![Page 22: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/22.jpg)
NSData ModelJSONSwiftyJSON Parser
NSData ModelNSDictionaryNSJSONSerialization Parser
![Page 23: SwiftyJSON 慘痛經驗](https://reader036.vdocuments.net/reader036/viewer/2022082205/58ed2bfb1a28ab19718b467d/html5/thumbnails/23.jpg)
• SwiftyJSON NSJSONSerialization
• variable lazy