管理视图和模型之间交互的助手
ModelAssistant 是视图和模型之间的中介。此框架专为与显示对象集合的视图协同工作而定制。这些视图通常期望其数据源以列表的形式呈现结果,列表由行组成的多部分构成。ModelAssistant 可以高效地分析模型对象并将它们分类到部分中。此外,根据模型对象的变化,它还会更新采用视图的代理。
功能
- 插入/删除/排序/更新模型对象
- 通知视图变化
- 完全兼容 UITableView 和 UICollectionView
- 支持部分
- 支持索引标题
- 兼容服务器数据源
- 兼容所有类型的持久存储
- 兼容所有设计模式
- 易于使用
- 线程安全
- 容错能力
- 完整的文献资料
新增功能
版本 1.1.3
现在使用模型助手(modelAssitant)变得非常简单,只需两行代码,代理(delegates)将自动应用到您的集合视图(collection view)中。
有关使用模型助手的新方法,请参阅使用说明。
版本 1.0.8.3
升级至 Swift 5
版本 1.0.8
- 故障能力:现在您可以使特定范围内的实体故障或触发它们。有关更多信息,请参阅高级用法。
需求
- iOS 8.0+
- Xcode 8.3+
- Swift 3.1+
安装
CocoaPods
CocoaPods是一个用于Cocoa项目的依赖管理器。您可以使用以下命令安装它
$ gem install cocoapods
要使用CocoaPods将模型助手集成到您的Xcode项目中,请在您的Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'ModelAssistant'
end
如果您未升级到Swift 4.2,请使用最后一个与Swift 4.2不兼容的版本
如果您正在使用 Swift 4,将 pod 'ModelAssistant'
替换为以下内容
pod 'ModelAssistant', '1.0.1' #Swift 4
如果您正在使用 Swift 3,将 pod 'ModelAssistant'
替换为以下内容
pod 'ModelAssistant', '1.0.0' #Swift 3
Carthage
Carthage 是一个去中心化的依赖管理工具,它构建您的依赖并提供二进制框架。
您可以使用以下命令通过 Homebrew 安装 Carthage:
$ brew update
$ brew install carthage
要使用 Carthage 将 ModelAssistant 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它。
github "ssamadgh/ModelAssistant"
运行 carthage update --platform iOS
来构建框架,并将构建的 ModelAssistant.framework
拖动到您的 Xcode 项目中。
手工
如果您不希望使用上述任何一个依赖管理器,您可以手动将 ModelAssistant 集成到项目中。
嵌入式框架
-
在终端中,
cd
到您的顶级项目目录,并运行以下命令 "if" 您的项目尚未初始化为 git 仓库$ git init
-
通过运行以下命令将 ModelAssistant 添加为 git 子模块
$ git submodule add https://github.com/ssamadgh/ModelAssistant.git
-
打开新的
ModelAssistant
文件夹,并将ModelAssistant.xcodeproj
拖放到您的应用程序 Xcode 项目的 Project Navigator 中。它应该位于您的应用程序蓝色项目图标下方。它位于所有其他 Xcode 组之上或之下无关紧要。
-
在 Project Navigator 中选择
ModelAssistant.xcodeproj
,并验证部署目标是否与您的应用程序目标相匹配。 -
接下来,在 Project Navigator 中选择您的应用程序项目(蓝色项目图标),以导航到目标配置窗口并选择侧边栏中的 "Targets" 节下的应用程序目标。
-
在该窗口的顶部标签栏中,打开 "General" 面板。
-
在 "Embedded Binaries" 部分的
+
按钮上单击。 -
您将看到两个不同的
ModelAssistant.xcodeproj
文件夹,每个文件夹中都有一个嵌套在 "Products" 文件夹内的ModelAssistant.framework
。您选择哪个 "Products" 文件夹无关紧要。
-
选择
ModelAssistant.framework
。 -
就是这样!
将
ModelAssistant.framework
自动添加为目标依赖项、链接框架和嵌入框架的拷贝文件构建阶段,这是您在模拟器和设备上构建所需的所有内容。
常见问题
模式辅助器在设计模式中的位置是什么呢?
模式辅助器完全与各式各样的设计模式兼容。它不会违反它们,而是找到自己的位置并安放在那里!作为参考,模式辅助器在一些著名的设计模式中的位置如下:
设计模式 | 模式辅助器位置 |
---|---|
MVC | 控制器 |
MVP | 演示者 |
MVVM | 视图模型 |
VIPER | 演示者 |
致谢
模式辅助器由Seyed Samad Gholamzadeh所拥有和维护。您可以在Twitter上关注我@ssamadgh,以获取项目更新和发布信息。
许可
模式辅助器遵循MIT许可。有关详细信息,请参阅LICENSE。