Soumettre la recherche
Mettre en ligne
SwiftyJSON 慘痛經驗
•
7 j'aime
•
2,851 vues
Hokila Jan
Suivre
有一天客戶抱怨app 某頁 load 很久.... 然後就寫了這一篇
Lire moins
Lire la suite
Mobile
Signaler
Partager
Signaler
Partager
1 sur 23
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
CCResourceAsyncLoader
CCResourceAsyncLoader
Keisuke Hata
Reactive Programming with RxSwift
Reactive Programming with RxSwift
Scott Gardner
Swift & ReactiveX – Asynchronous Event-Based Funsies with RxSwift
Swift & ReactiveX – Asynchronous Event-Based Funsies with RxSwift
Aaron Douglas
Reactive programming with RxSwift
Reactive programming with RxSwift
Scott Gardner
Class
Class
HSS-Software House
Angular and The Case for RxJS
Angular and The Case for RxJS
Sandi Barr
Rxjs ppt
Rxjs ppt
Christoffer Noring
Functional Reactive Programming - RxSwift
Functional Reactive Programming - RxSwift
Rodrigo Leite
Recommandé
CCResourceAsyncLoader
CCResourceAsyncLoader
Keisuke Hata
Reactive Programming with RxSwift
Reactive Programming with RxSwift
Scott Gardner
Swift & ReactiveX – Asynchronous Event-Based Funsies with RxSwift
Swift & ReactiveX – Asynchronous Event-Based Funsies with RxSwift
Aaron Douglas
Reactive programming with RxSwift
Reactive programming with RxSwift
Scott Gardner
Class
Class
HSS-Software House
Angular and The Case for RxJS
Angular and The Case for RxJS
Sandi Barr
Rxjs ppt
Rxjs ppt
Christoffer Noring
Functional Reactive Programming - RxSwift
Functional Reactive Programming - RxSwift
Rodrigo Leite
Rxjs ngvikings
Rxjs ngvikings
Christoffer Noring
Oop assignment 02
Oop assignment 02
MamoonKhan39
Streaming using Kafka Flink & Elasticsearch
Streaming using Kafka Flink & Elasticsearch
Keira Zhou
Game Analytics Cluster Scheduler
Game Analytics Cluster Scheduler
cmmdevries
FIWARE Real-time Processing of Historic Context Information using Apache Flin...
FIWARE Real-time Processing of Historic Context Information using Apache Flin...
sonsoleslp
ActiveRecord Query Interface
ActiveRecord Query Interface
mrsellars
VBA API for scriptDB primer
VBA API for scriptDB primer
Bruce McPherson
Thinking in Sequences - Streams in Node.js & IO.js
Thinking in Sequences - Streams in Node.js & IO.js
Artur Skowroński
Deep Dumpster Diving
Deep Dumpster Diving
RonnBlack
Logging rails application behavior to MongoDB
Logging rails application behavior to MongoDB
Alexey Vasiliev
Do something in 5 with gas 2-graduate to a database
Do something in 5 with gas 2-graduate to a database
Bruce McPherson
Do something useful in Apps Script 5. Get your analytics pageviews to a sprea...
Do something useful in Apps Script 5. Get your analytics pageviews to a sprea...
Bruce McPherson
Goa tutorial
Goa tutorial
Bruce McPherson
Do something in 5 with gas 4- Get your analytics profiles to a spreadsheet
Do something in 5 with gas 4- Get your analytics profiles to a spreadsheet
Bruce McPherson
Do something in 5 with gas 3-simple invoicing app
Do something in 5 with gas 3-simple invoicing app
Bruce McPherson
Advanced realm in swift
Advanced realm in swift
Yusuke Kita
Useful and Practical Functionalities in Realm
Useful and Practical Functionalities in Realm
Yusuke Kita
Realm.io par Clement Sauvage
Realm.io par Clement Sauvage
CocoaHeads France
Do something in 5 with gas 7-email log
Do something in 5 with gas 7-email log
Bruce McPherson
Javascript Execution Context Flow
Javascript Execution Context Flow
kang taehun
IAP auto renewable in practice
IAP auto renewable in practice
Hokila Jan
程式設計首日封
程式設計首日封
政斌 楊
Contenu connexe
Tendances
Rxjs ngvikings
Rxjs ngvikings
Christoffer Noring
Oop assignment 02
Oop assignment 02
MamoonKhan39
Streaming using Kafka Flink & Elasticsearch
Streaming using Kafka Flink & Elasticsearch
Keira Zhou
Game Analytics Cluster Scheduler
Game Analytics Cluster Scheduler
cmmdevries
FIWARE Real-time Processing of Historic Context Information using Apache Flin...
FIWARE Real-time Processing of Historic Context Information using Apache Flin...
sonsoleslp
ActiveRecord Query Interface
ActiveRecord Query Interface
mrsellars
VBA API for scriptDB primer
VBA API for scriptDB primer
Bruce McPherson
Thinking in Sequences - Streams in Node.js & IO.js
Thinking in Sequences - Streams in Node.js & IO.js
Artur Skowroński
Deep Dumpster Diving
Deep Dumpster Diving
RonnBlack
Logging rails application behavior to MongoDB
Logging rails application behavior to MongoDB
Alexey Vasiliev
Do something in 5 with gas 2-graduate to a database
Do something in 5 with gas 2-graduate to a database
Bruce McPherson
Do something useful in Apps Script 5. Get your analytics pageviews to a sprea...
Do something useful in Apps Script 5. Get your analytics pageviews to a sprea...
Bruce McPherson
Goa tutorial
Goa tutorial
Bruce McPherson
Do something in 5 with gas 4- Get your analytics profiles to a spreadsheet
Do something in 5 with gas 4- Get your analytics profiles to a spreadsheet
Bruce McPherson
Do something in 5 with gas 3-simple invoicing app
Do something in 5 with gas 3-simple invoicing app
Bruce McPherson
Advanced realm in swift
Advanced realm in swift
Yusuke Kita
Useful and Practical Functionalities in Realm
Useful and Practical Functionalities in Realm
Yusuke Kita
Realm.io par Clement Sauvage
Realm.io par Clement Sauvage
CocoaHeads France
Do something in 5 with gas 7-email log
Do something in 5 with gas 7-email log
Bruce McPherson
Javascript Execution Context Flow
Javascript Execution Context Flow
kang taehun
Tendances
(20)
Rxjs ngvikings
Rxjs ngvikings
Oop assignment 02
Oop assignment 02
Streaming using Kafka Flink & Elasticsearch
Streaming using Kafka Flink & Elasticsearch
Game Analytics Cluster Scheduler
Game Analytics Cluster Scheduler
FIWARE Real-time Processing of Historic Context Information using Apache Flin...
FIWARE Real-time Processing of Historic Context Information using Apache Flin...
ActiveRecord Query Interface
ActiveRecord Query Interface
VBA API for scriptDB primer
VBA API for scriptDB primer
Thinking in Sequences - Streams in Node.js & IO.js
Thinking in Sequences - Streams in Node.js & IO.js
Deep Dumpster Diving
Deep Dumpster Diving
Logging rails application behavior to MongoDB
Logging rails application behavior to MongoDB
Do something in 5 with gas 2-graduate to a database
Do something in 5 with gas 2-graduate to a database
Do something useful in Apps Script 5. Get your analytics pageviews to a sprea...
Do something useful in Apps Script 5. Get your analytics pageviews to a sprea...
Goa tutorial
Goa tutorial
Do something in 5 with gas 4- Get your analytics profiles to a spreadsheet
Do something in 5 with gas 4- Get your analytics profiles to a spreadsheet
Do something in 5 with gas 3-simple invoicing app
Do something in 5 with gas 3-simple invoicing app
Advanced realm in swift
Advanced realm in swift
Useful and Practical Functionalities in Realm
Useful and Practical Functionalities in Realm
Realm.io par Clement Sauvage
Realm.io par Clement Sauvage
Do something in 5 with gas 7-email log
Do something in 5 with gas 7-email log
Javascript Execution Context Flow
Javascript Execution Context Flow
En vedette
IAP auto renewable in practice
IAP auto renewable in practice
Hokila Jan
程式設計首日封
程式設計首日封
政斌 楊
Starting mongo db on hosting services
Starting mongo db on hosting services
Yuji Isobe
iOS swift 接力使力之玩 open data
iOS swift 接力使力之玩 open data
政斌 楊
咖啡 創業 愛 - 諾基米的蘋果生活
咖啡 創業 愛 - 諾基米的蘋果生活
Nokimi Lai
Pattern Recognition midterm Proposal
Pattern Recognition midterm Proposal
Win Yu
再接再勵學 Swift 程式設計
再接再勵學 Swift 程式設計
政斌 楊
App 產品製作心得 - 我的 App 創業之路
App 產品製作心得 - 我的 App 創業之路
Nokimi Lai
In-App Purchase
In-App Purchase
Max Stottrop
資料經濟:開放資料的下一步 黃彥男博士
資料經濟:開放資料的下一步 黃彥男博士
Taoyuan City Government
MongoDB日本語紹介資料
MongoDB日本語紹介資料
ippei_suzuki
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
Win Yu
RESTful API的设计与开发
RESTful API的设计与开发
Ace Lee
How I learn APP (2015)
How I learn APP (2015)
Ryan Chung
Lecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-C
Maksym Davydov
唇顎裂的重建手術
唇顎裂的重建手術
慧夫 羅
千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的App
Smallr Huang
萬分之一的天使─先天罕見顱顏疾病
萬分之一的天使─先天罕見顱顏疾病
慧夫 羅
唇顎裂患者0~18歲的口腔照護
唇顎裂患者0~18歲的口腔照護
慧夫 羅
Vpon - 廣告效果導向為基礎的行動廣告系統
Vpon - 廣告效果導向為基礎的行動廣告系統
Vpon
En vedette
(20)
IAP auto renewable in practice
IAP auto renewable in practice
程式設計首日封
程式設計首日封
Starting mongo db on hosting services
Starting mongo db on hosting services
iOS swift 接力使力之玩 open data
iOS swift 接力使力之玩 open data
咖啡 創業 愛 - 諾基米的蘋果生活
咖啡 創業 愛 - 諾基米的蘋果生活
Pattern Recognition midterm Proposal
Pattern Recognition midterm Proposal
再接再勵學 Swift 程式設計
再接再勵學 Swift 程式設計
App 產品製作心得 - 我的 App 創業之路
App 產品製作心得 - 我的 App 創業之路
In-App Purchase
In-App Purchase
資料經濟:開放資料的下一步 黃彥男博士
資料經濟:開放資料的下一步 黃彥男博士
MongoDB日本語紹介資料
MongoDB日本語紹介資料
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
RESTful API的设计与开发
RESTful API的设计与开发
How I learn APP (2015)
How I learn APP (2015)
Lecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-C
唇顎裂的重建手術
唇顎裂的重建手術
千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的App
萬分之一的天使─先天罕見顱顏疾病
萬分之一的天使─先天罕見顱顏疾病
唇顎裂患者0~18歲的口腔照護
唇顎裂患者0~18歲的口腔照護
Vpon - 廣告效果導向為基礎的行動廣告系統
Vpon - 廣告效果導向為基礎的行動廣告系統
Similaire à SwiftyJSON 慘痛經驗
Client Server Communication on iOS
Client Server Communication on iOS
Make School
Modern Networking with Swish
Modern Networking with Swish
jakecraige
ReactiveCocoa and Swift, Better Together
ReactiveCocoa and Swift, Better Together
Colin Eberhardt
Scaladroids: Developing Android Apps with Scala
Scaladroids: Developing Android Apps with Scala
Ostap Andrusiv
Making Swift even safer
Making Swift even safer
Denis Fileev
Taming Core Data by Arek Holko, Macoscope
Taming Core Data by Arek Holko, Macoscope
Macoscope
Spray Json and MongoDB Queries: Insights and Simple Tricks.
Spray Json and MongoDB Queries: Insights and Simple Tricks.
Andrii Lashchenko
JSON Schema: Your API's Secret Weapon
JSON Schema: Your API's Secret Weapon
Pete Gamache
Scala uma poderosa linguagem para a jvm
Scala uma poderosa linguagem para a jvm
Isaias Barroso
Codable routing
Codable routing
Pushkar Kulkarni
NLJUG University Sessie: Java Reborn, Powered by Ordina
NLJUG University Sessie: Java Reborn, Powered by Ordina
Martijn Blankestijn
Scala coated JVM
Scala coated JVM
Stuart Roebuck
Prototype Framework
Prototype Framework
Julie Iskander
Improving Correctness with Types
Improving Correctness with Types
Iain Hull
Swift で JavaScript 始めませんか? #iOSDC
Swift で JavaScript 始めませんか? #iOSDC
Tomohiro Kumagai
CAVE Overview
CAVE Overview
vdumitrescu
JDD 2016 - Pawel Byszewski - Kotlin, why?
JDD 2016 - Pawel Byszewski - Kotlin, why?
PROIDEA
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
Francois Zaninotto
Swift와 Objective-C를 함께 쓰는 방법
Swift와 Objective-C를 함께 쓰는 방법
Jung Kim
Improving Correctness with Types Kats Conf
Improving Correctness with Types Kats Conf
Iain Hull
Similaire à SwiftyJSON 慘痛經驗
(20)
Client Server Communication on iOS
Client Server Communication on iOS
Modern Networking with Swish
Modern Networking with Swish
ReactiveCocoa and Swift, Better Together
ReactiveCocoa and Swift, Better Together
Scaladroids: Developing Android Apps with Scala
Scaladroids: Developing Android Apps with Scala
Making Swift even safer
Making Swift even safer
Taming Core Data by Arek Holko, Macoscope
Taming Core Data by Arek Holko, Macoscope
Spray Json and MongoDB Queries: Insights and Simple Tricks.
Spray Json and MongoDB Queries: Insights and Simple Tricks.
JSON Schema: Your API's Secret Weapon
JSON Schema: Your API's Secret Weapon
Scala uma poderosa linguagem para a jvm
Scala uma poderosa linguagem para a jvm
Codable routing
Codable routing
NLJUG University Sessie: Java Reborn, Powered by Ordina
NLJUG University Sessie: Java Reborn, Powered by Ordina
Scala coated JVM
Scala coated JVM
Prototype Framework
Prototype Framework
Improving Correctness with Types
Improving Correctness with Types
Swift で JavaScript 始めませんか? #iOSDC
Swift で JavaScript 始めませんか? #iOSDC
CAVE Overview
CAVE Overview
JDD 2016 - Pawel Byszewski - Kotlin, why?
JDD 2016 - Pawel Byszewski - Kotlin, why?
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
Swift와 Objective-C를 함께 쓰는 방법
Swift와 Objective-C를 함께 쓰는 방법
Improving Correctness with Types Kats Conf
Improving Correctness with Types Kats Conf
Plus de Hokila Jan
Unit Test 最後一哩路
Unit Test 最後一哩路
Hokila Jan
Refactor code to testable
Refactor code to testable
Hokila Jan
Tracking Event validator
Tracking Event validator
Hokila Jan
Preparation for wwdc and not waste it
Preparation for wwdc and not waste it
Hokila Jan
Third party module strategy
Third party module strategy
Hokila Jan
How to cheat jb detector and detect cheating
How to cheat jb detector and detect cheating
Hokila Jan
進擊的帳單
進擊的帳單
Hokila Jan
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
Hokila Jan
iOS app security
iOS app security
Hokila Jan
接案公司的日子
接案公司的日子
Hokila Jan
快思慢想Ch13 14
快思慢想Ch13 14
Hokila Jan
從Scrum到放棄scrum
從Scrum到放棄scrum
Hokila Jan
快思慢想讀書會Ch9 10
快思慢想讀書會Ch9 10
Hokila Jan
Plus de Hokila Jan
(13)
Unit Test 最後一哩路
Unit Test 最後一哩路
Refactor code to testable
Refactor code to testable
Tracking Event validator
Tracking Event validator
Preparation for wwdc and not waste it
Preparation for wwdc and not waste it
Third party module strategy
Third party module strategy
How to cheat jb detector and detect cheating
How to cheat jb detector and detect cheating
進擊的帳單
進擊的帳單
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
iOS app security
iOS app security
接案公司的日子
接案公司的日子
快思慢想Ch13 14
快思慢想Ch13 14
從Scrum到放棄scrum
從Scrum到放棄scrum
快思慢想讀書會Ch9 10
快思慢想讀書會Ch9 10
SwiftyJSON 慘痛經驗
1.
SwiftyJSON Hokila
2.
star module parser
3.
app load API response parse
4.
1. 2. api spec 3.
parser
5.
NSData Model
6.
NSData ModelNSDictionary Objective-C
7.
NSData ModelNSDictionary Swift
8.
NSData Model Swift
9.
NSData Model Swift [String:AnyObject]
10.
NSData Model Swift [String:AnyObject] JSON
11.
NSData Model Swift JSON
12.
NSData ModelJSON SwiftyJSON Parser
13.
14.
SwiftyJSON
15.
NSDictionary
16.
parser 3
17.
private func parseAndReloadUI(json:JSON){ let
start = CACurrentMediaTime() let candidateItems = self.parseJSON(json) print("time parse = (CACurrentMediaTime() - start)") self.items = candidateItems self.reloadUI() }
18.
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
19.
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 time parse = 0.28
20.
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 time parse = 0.28 code
21.
parser • as? SwiftyJSON •
SwiftyJSON NSDictionary • parse node cache reuse
22.
NSData ModelJSON SwiftyJSON Parser NSData
ModelNSDictionary NSJSONSerialization Parser
23.
• SwiftyJSON NSJSONSerialization •
variable lazy
Télécharger maintenant