<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          EasyIOS基于MVVM 的IOS開發(fā)框架

          聯(lián)合創(chuàng)作 · 2023-09-25 16:52

          Swift版本最新發(fā)布 https://github.com/EasyIOS/EasyIOS-Swift

          全新基于MVVM(Model-View-ViewModel)編程模式架構(gòu),開啟EasyIOS開發(fā)函數(shù)式編程新篇章。

          EasyIOS 2.0類似AngularJs,最為核心的是:MVVM、ORM、模塊化、自動化雙向數(shù)據(jù)綁定、等等

          關(guān)于有疑問什么是MVVM,以及為什么IOS開發(fā)需要MVVM思想編程的,請看文章用Model-View-ViewModel構(gòu)建iOS App有詳細(xì)介紹.

          EasyIOS 2.0是基于MVVM編程思想進(jìn)行構(gòu)建的,封裝了Scene,SceneModel,Model,Action四種模型來對IOS進(jìn)行開發(fā),4種模型的定義解決了IOS開發(fā)中ViewController承擔(dān)了過多角色而造成的代碼質(zhì)量低下,使得結(jié)構(gòu)思路更加清晰。

          • 1.其中Scene就是ViewController的子類,負(fù)責(zé)僅僅負(fù)責(zé)界面的展示邏輯

          • 2.Model數(shù)據(jù)模型,父類實(shí)現(xiàn)了ORM,可以實(shí)現(xiàn)json、object、sqlite三者之間的一鍵轉(zhuǎn)換,

          • 3.SceneModel 視圖-數(shù)據(jù)模型,主要負(fù)責(zé) 視圖與模型的綁定工作,其中binding的工作交給了ReactiveCocoa。

          • 4.SceneModel包含Action成員,Action類主要負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的請求,數(shù)據(jù)緩存,數(shù)據(jù)解析工作

          如果你有看Github的Trending Objective-C榜單,那你肯定是見過ReactiveCocoa了。如果你在weibo上關(guān)注唐巧、onevcat等國內(nèi)一線知名開發(fā)者。那也應(yīng)該聽說過ReactiveCocoa了。 ReactiveCocoa簡稱RAC,就是基于響應(yīng)式編程思想的Objective-C實(shí)踐,它是Github的一個開源項目,你可以在這里找到它。

          采用MKNetworkKit 網(wǎng)絡(luò)框架,修改了部分功能,底層支持網(wǎng)絡(luò)緩存,輕松控制是否啟用緩存。

          采用ReactiveCocoa 框架,實(shí)現(xiàn)響應(yīng)式編程,減少代碼復(fù)雜度。

          集成了開源代碼UIGridView 網(wǎng)格視圖

          集成了開源代碼RTLabel 富文本Label

          集成SVProgressHUD指示器

          集成MJRefresh下拉刷新,有刪改

          model類整合Jastor的類庫和MojoDataBase類庫

          整合了很多開源的優(yōu)秀代碼

          部分函數(shù)借鑒了BeeFramework

          常用類庫:

          Action 負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)請求

          Model 負(fù)責(zé)數(shù)據(jù)存儲

          SceneModel 負(fù)責(zé)Scene與Model的綁定,調(diào)用action進(jìn)行數(shù)據(jù)請求

          Scene 一個視圖相當(dāng)于UIViewController,提供了快速集成網(wǎng)絡(luò)請求和下拉刷新上拉加載的方法。

          SceneTableView 一個TableView,配合scene提供了集成下拉刷新上拉加載的方法

          SceneCollectionView 一個CollectionView,配合scene提供了集成下拉刷新上拉加載的方法

          2.0版本更新

          • 架構(gòu)修改,基于MVVM架構(gòu)

          • 把SceneModel從Scene中剝離出來,并且加入響應(yīng)式編程框架ReactiveCocoa

          • ReactiveCocoa中文使用說明教程 ReactiveCocoa2實(shí)戰(zhàn)

          • ReactiveCocoa 在github上有開源項目ReactiveCocoa2

          1.0.3版本更新

          • 再也不用擔(dān)心奇葩的圖文混排了

          • 新增字體圖片支持 資源里的demo 就是一個基于swift和easyios的字體圖片演示,可以用來作為圖片字典查閱

          • 可擴(kuò)展的字體庫,字需要添加ttf和json文件就可以輕松擴(kuò)展特殊字體

          • 目前支持4種圖片字體FontAwesome、Zocial-Regular、Ionicons、Foundation

          • FontAwesome 4.1 字體庫, 包含 439 個圖標(biāo)

          • Foundation icons 字體庫, 包含283 個圖標(biāo)

          • Zocial Contains 字體庫, 包含99 個圖標(biāo)

          • ionicons 1.5.2 字體庫, 包含601 個圖標(biāo),大部分是 IOS7 style

          1.0.2版本更新

          • fix一些頭文件的引用關(guān)系,增加了swift頭文件支持。

          • 用swift的同學(xué),要設(shè)置Objective-C Bridging Header為${PODS_ROOT}/Headers/EasyIOS/swift-bridge.h

          • 1.0.2版本發(fā)布到了CocoaPods

          1.0.1版本更新

          • 1.增加了ORM支持,從此可以實(shí)現(xiàn)json、object、sqlite三者之間的一鍵轉(zhuǎn)換,可以節(jié)省很多代碼,是不是很酷。

          model類整合了Jastor的類庫和MojoDataBase類庫

          • 2.修改了Action類中的post的參數(shù),增加了files參數(shù),

          因此,action.POST_MSG的時候現(xiàn)在至少要3個參數(shù)哦

          • 3.借鑒了beeframework的消息通知機(jī)制。。.默默給郭大點(diǎn)個贊。。

          • 4.修復(fù)了一個下拉刷新的bug

          • 5.提供了一鍵打開百度地圖、蘋果地圖、google地圖、高德地圖發(fā)起調(diào)用的接口,再也不用擔(dān)心看地圖文檔

          瀏覽 26
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲日韩中文无码 | 亚洲中文娱乐 | 日本黄色视频。 | 国产熟女在线视频 | 国产精品国产三级国产 |