ErnKit 是一个框架,包含一组辅助类/协议和一组示例项目,展示了如何将 iOS 项目分解成隔离和可单元测试的组件。该框架包含用于定义模型层的协议,以及使用这些协议的一组辅助工具,以在表格视图、地图视图中显示数据,并使用 RestKit 从 RESTful 服务获取数据。
可以通过在 Podfile 中添加以下内容来将框架作为 CocoaPod 使用:
pod 'ErnKit'
更新您的 pods 后,所有协议和辅助函数都可以这样导入:
#import <ErnKit/ERNAction.h>
克隆项目并运行以下命令:
brew update
brew install xctool
bundle install
pod install
open ErnKit.xcworkspace
Xcode 将现在打开,并可以从这里执行示例应用程序。要启动示例服务器,请运行以下命令:
rake server:start
要停止它
rake server:stop
使用以下命令运行单元测试:
rake test
或者简单地
rake
ErnKit 定义了一组协议,用于定义 iOS 应用程序的整体结构。通过遵循这些协议,ErnKit 中许多辅助类可以用很少的代码来实现很多功能。ErnKit 本身不是一个“堆栈”,而是一组组件,因此暴露了所有抽象以允许选择适合应用程序的适当级别。
ErnKit 的模型由两个“部分”组成:
基本想法是让存储库通过持有数据对象来保留模型“状态”。存储库可以在任何时候更新,并在发生更改时通知任何感兴趣的观察者。
一个简单的存储库示例可能包含内存中的一个简单对象。更复杂的存储库表示来自数据库或 RESTful 服务的数据状态。无论哪种方式,客户端访问存储库的方式都是相同的。
ErnKit 定义了一组存储库协议
例如,一个仓库客户端可以从ERNAsyncItemsRepository中获取对象,如下所示
id<NSObject> object = [repository itemAtIndex:0];
待定...
待定...
待定...