1.之前的項目一直用mvc開發ios,發現ios有一個弊端,mvc裡,viewcontroller裡邊有大量的業務邏輯,當不斷的修改,會發現只是一個痛苦的過程。
2.之前做wpf,使用過mvvm模式,可以把業務邏輯放到vm模式,vm可以來處理業務邏輯。做過幾個ios項目,也想過mvvm模式,但是一直沒找到。偶爾看到網上有一個mvvm模式的ios項目,我來嘗試從頭開始做這個項目,做完之後源碼會公開。
3.ok,這個mvvm開源的項目是C-41,有興趣的可以去網上搜搜。
4.這個項目要關聯到一些類庫,ios有一個cocopods項目管理工具,可以自己配置,我已經配置好了。
5.新建一個項目,在項目目錄下做一個Podfile,裡邊輸入
target "MyTools" do
pod 'ReactiveCocoa', '2.1.8'
pod 'libextobjc', '0.3'
pod 'ReactiveViewModel', '0.1.1'
pod 'UIColor-Utilities', '1.0.1'
inhibit_all_warnings!
end
target "MyToolsTests" do
pod 'Specta', '~> 0.2.1'
pod 'Expecta', '~> 0.2.3'
pod 'OCMock', '~> 2.2.1'
inhibit_all_warnings!
end
6.執行pod install,會自動下載並加入項目裡邊。
7.項目運行的時候,會報一個錯誤,XCTest/XCTest.h file not found built in Xcode 6
8. 遇到這個錯誤,大家可以去網上查,我在stackoverflow找到了合適的答案,吐槽下,在國內上這個網站,有時候很慢,建議大家去弄一個翻牆的軟件,我現在用的是雲梯,配置起來超簡單。
9.In order to fix this for any CocoaPod dependencies you need to add the following to FRAMEWORK_SEARCH_PATHS
in
any Pod target that requires XCTest (e.g. Kiwi, Specta, FBSnapshotTestCase, etc).
$(PLATFORM_DIR)/Developer/Library/Frameworks
10.大意就是,在報錯誤的類庫中,需要添加$(PLATFORM_DIR)/Developer/Library/Frameworks這個東東。這個是加在BuildSettings->Search
Paths->Framework Search Paths裡邊添加。
11.運行我們這個mvvm模式架構的項目吧。後續會開始做一個項目。