iOS中的反应式编程?
React Native!=反应式编程
หลายๆคนเห็นแล้วอาจจะสับสนเข้าใจผิดว่ามันคือตัวเดียวกันจริงๆมันแค่ชื่อคล้ายกันเฉยๆนะ
React Native本地 JavaScript代码库本地Facebook社区2013本地库开发人员Applicationาสารถพัฒนา应用程序android和iOS平台ได้ด้วยการเขียน代码Codeยเพีรั้งเดียว! ApplicationรียแบบาการพัฒนาApplicationแบบHybridก็ได้องใช้ภาษาที่ผูกติดกับPlatformใดPlatformหนึ่งนนiOSก็จะใช้Swift / Objective-CงางAndroidจะใช้Kotlin / Java
响应式编程异步编程概念กันอางหนึ่งที่วันนนราจะมาอธิบายConcept
响应式จะนReอะไรกัน? 反应堆activeายถึง“ซึ่งการตอตนอง”ตัวอย่างเช่นเราเอนเล่นๆสแครชไปสแครชมาเป็นDJแน่นอนเพื่อนคงไม่ให้เราถูหัวเล่นอยู่อย่า่นั้นใช่ปะใช่ปะองมีสวนกัน มีActงแหละActก็จะมีReact
文本字段(Act)文本字段
“ค่าเปลี่ยนแล้วววววววววววว”(反应)…ทำนองนั้นภาษาทางเทคนิคเรียกว่าEmitถ้าเราพิมพ์“ Hello”ออกไปมันก็จะEmitหลังจากที่เราเคาะแป้นแต่ละที
- “ H”→发射
- “他”→发射
- “ Hel”→发射
- “地狱”→发射
- “你好”→发射
ถ้ามีคนตะโกนพูดก็ต้องมีคนฟังว่าไหม? ะาพูดคนเดียวนี่เหมือนคนบ้านะ55
订户/观察者ในที่นี้ยกตัวอย่างเป็น表视图ส่วนเส้นๆที่เห็นนั้นเนเรียก可观察的顺序
Textรั้งที่ค่าใน文本字段เปลี่ยน表视图จะรู้เสมอเพราะคอย观察อยู่👀ากนั้นจะเอาอักษรแต่ละตัวมาแสดงหรืออื่นๆก็แล้วแต่เราจะเขียนโปรแกรม
จะมีนิดนึงคือจะมี订户มารอฟังกี่ตัวก็ได้และ可观察的ไม่จำเป็นต้องเป็นUIอย่างเดียวจะเป็นตัวแปรหรืออย่างอื่นก็ได้นะะ
iOSนที่เขียนiOSมาบ้างแล้วอาจจะสงสัยว่าจริงๆแล้ว异步编程ในiOSก็ใช้กันปกติอยู่แล้วเช่น
- 大中央派遣
- 通知中心
- 关闭
- 委托模式
响应式编程เพิ่มหละ?
ที่AppleมีAPIใSDKให้ใช้หลตัวซึ่งช่วตัวซึ่งช่วตัวซึ่งช่วก็มีวิธีกออไม่มีแต่งกลับกัไม่มีไม่มีเขีไม่มีไม่มีไม่มีไม่มี ใจรือการทำความเข้าใจ代码
表格检视
步骤การ实现ของTableView
- 设置“代理”ให้กับTableViewทำให้TableViewมันรู้ว่าถ้าจะโชว์数据ต้องไปถามใครว่า数据มีกี่แถวแต่ละแถวเป็นยังไง…ฯลฯ
- 采用“ Protocol”协议,TableView和协议2协议。
- 功能ที่ใช้returnจำนวนCell
- 函数ที่ใช้returnข้อมูลของแต่ละCell
5.在TableView中,使用Reload编程(Reactive编程)。 แหละ55)
载入中…
งาดูตัวอย่าง异步อีกอันบ้างเกี่ยวกับการโหลดข้อมูล
步骤การ工具ของ加载东西
- มี功能ที่ใช้จัดการเกี่ยวกับการ加载ข้อมูลต่างๆโดยจะรับClosureเข้าไปเป็น参数ตัวหนึ่ง
- 功能ก็ทำงานจะโหลดหรืออะไรก็ว่าไป…
- กอทำงานเสร็จก็จะมาเรียก关闭ที่เราส่งเข้าไป
- Functionาใช้งาน功能นี้ไม่ว่าใน类ใดก็ตามก็จะต้องใส่Closureเข้าไปเพื่อบอกมันว่าจะต้องทำอะไรต่อเมื่อทำงานเสร็จ
ynนยังว่ามันเป็นAsyn ynอนกันก็จริงแต่ว่าการเขียนโปรแกรมให้มันทำงานเนี่ย“คนละเรื่อื่ยวกัน”ข้างบนนั้นเป็นแค่ตัวอย่างจริงๆก็ยังมีอีกหลากหลายวิธี😂
框架响应式编程响应式编程ReactiveSwift / ReactiveCocoa,ReactiveX,星际
ะกูลReactiveXกับReactiveแต่วัี้เนนี้เราจะมาเกรเกนแค่ReactiveXละกัน
Frameworkาปลาไหลตัวนซึ่งถูกทำน框架Reรียกว่าReactiveXซึ่งถูกทำออกมารองรับได้หลาย平台JavaนJava Kotlin Swift Go PHP…ีกมอปลากมายถ้าสนใจก็ไปดูต่อได้ที่
http://reactivex.io/
implementยบการ工具แบบเดิมกับแบบใหม่แล้วได้ดังนี้
原始方式
使用RxSwift
2นได้ว่าขั้นตอนนี้1,2,3,4 binองแบบเดิมถูกลดมาเหลือ。bindตัวเดียว…(บร๊ะเจ้า!😱) DataายViewากขึ้นด้วยอ!!อดีคือเวลาข้อมูล ในตัวแปรDataเปลี่ยนไม่ต้องมาสั่งtableView.reloadอีกต่อีกต่!!
数据绑定表(Table)数据绑定表(TableView)数据绑定表(TableView)。 👌🏻
1.标准
实施标准实施代码实施代码
2.流程清晰
Flowามภาพที่เห็นข้างบนFlowการทำงานจะประกาศจบในที่เดียวไม่ต้องปวดหัวเด้งไปเด้งมาอีกต่อไป
3.使用MVVM以非常优雅的方式拆分代码
Implementาใครเคย实现“ MVVM Pattern”มาReactiveX LibraryนLibraryีกตัวเลืารทำงานไปยังส่วนต่าะใClassถเ
3.跨平台
ReactiveX谷歌谷歌谷歌谷歌谷歌谷歌谷歌谷歌谷歌谷歌
1.高学历
响应式编程การจะใช้มันจริงๆมีอีกหลายอ่ …อาจจะเป็นแบบรูปด้านบน…ก็เป็นได้