ErnKit 0.0.10

ErnKit 0.0.10

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年12月

未声明的维护。



ErnKit 0.0.10

  • Magnus Ernstsson

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 定义的模式和结构

ErnKit 定义了一组协议,用于定义 iOS 应用程序的整体结构。通过遵循这些协议,ErnKit 中许多辅助类可以用很少的代码来实现很多功能。ErnKit 本身不是一个“堆栈”,而是一组组件,因此暴露了所有抽象以允许选择适合应用程序的适当级别。

使用异步存储库管理数据对象

ErnKit 的模型由两个“部分”组成:

  1. 简单的数据对象,只包含属性和隔离的方法
  2. 包含一个或多个这些数据对象的异步存储库

基本想法是让存储库通过持有数据对象来保留模型“状态”。存储库可以在任何时候更新,并在发生更改时通知任何感兴趣的观察者。

一个简单的存储库示例可能包含内存中的一个简单对象。更复杂的存储库表示来自数据库或 RESTful 服务的数据状态。无论哪种方式,客户端访问存储库的方式都是相同的。

ErnKit 定义了一组存储库协议

  • ERNAsyncRepository - 基础协议,包含常用的异步方法
  • ERNAsyncItemRepository - 包含单个对象
  • ERNAsyncItemsRepository - 包含对象列表
  • ERNPaginatedAsyncItemsRepository - 包含一个分页对象列表

例如,一个仓库客户端可以从ERNAsyncItemsRepository中获取对象,如下所示

id<NSObject> object = [repository itemAtIndex:0];

待定...

使用Action/Configurator/Transitioner断开子系统依赖

待定...

使用微控制器分解UIViewControllers

待定...