FUMVC
iOS MVC 的基础。
描述
FUMVC 的目的是以一种非常简洁的方式提供常见的架构抽象,基于干净和最小的 MVC 模式。
其实现嵌入到 Fundamentals of MVC 中,旨在展示 MVC 可以多么优雅,尽管 FU 对其抱有敌意,因此命名为 FUMVC
有关 FUMVC 的相关参考包括 Lotus MVC 模式。
初始实现重点放在一个 Core Data 抽象上,特别是使用泛型来减少 Core Data CRUD 操作中的样板代码的 Model Controller。
要求
iOS 11.0 或更高版本,以支持 NSPersistentContainer
。
如何安装
FUMVC 文件夹结构被设置为可以通过 CocoaPods 使用,但目前不能作为 pod 安装。
在那之前,要下载 ModelController
,您可以在以下文件夹结构中找到它:
FUMVC/Classes/ModelController.swift
如何使用
FUMVC 目前有一个 ModelController
用于作为 Core Data 的初始抽象。
您可以使用 ModelController
的便捷初始器来引用数据模型名称,如下所示:
let modelController = ModelController(modelName: "Model")
例如,如果您有一个名为 Recipe 的 NSManagedObject 子类,创建一个新对象可以像以下这样:
let newRecipe = modelController.add(Recipe.self)
newRecipe?.name = "Pizza"
还有其他一些方法可以进行
add(type:)
total(type:)
fetch(type: predicate: sort:)
save()
delete(by objectID:)
delete(type: predicate:)
示例
有一些小型示例和一些单元测试。要运行示例项目,首先克隆存储库,然后从 Example 目录运行 pod install
。
作者
许可
FUMVC 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。