gpt4 book ai didi

ios - 如何为iOS项目编写好的基类?

转载 作者:行者123 更新时间:2023-12-02 01:33:58 26 4
gpt4 key购买 nike

我开发iOS应用程序有一段时间了,发现有很多重复的任务。因此,我想编写即将进行的项目将子类化的基类,以便花费更少的时间并且更轻松地跨项目跟踪代码。最关心的是

  1. 编写良好的基本模型类,该类具有许多策略(核心数据、存档等)。该模型类还具有一些 JSON 到属性的转换技术,例如 Mantle,以便设备上和服务器上的模型相同

  2. 编写良好的基础网络类(主要使用 AFNetworking)

  3. 编写良好的基本 ViewController 类。我看到一些重复的任务:使用 ScrollView 避免使用键盘、日志记录、崩溃跟踪、从 Nib 加载 View ......

  4. 查找并使用 UIView、UINib、自动布局等其他一些好的类别

这些只是我的担忧。这似乎是一个模糊的话题,我不问如何使用库或如何制作可重用的组件。

我只是想问一下制作此类基类的经验以及可以借鉴的地方

最佳答案

您并不是唯一遇到此问题的人,我在许多项目中都遇到过同样的问题。 因此,解决这个问题的最佳方案是开源库。好的库通常会经常更新,并与 Apple 的 SDK 版本保持同步。我将解释我如何使用最少的样板代码。

  1. 基本模型 - 由于我只使用网络和核心数据模型,因此我使用 MagicalRecord对于核心数据和 JSONModel用于基于网络的模型(映射到 API 响应)。

  2. 网络类 - 与 AFNetworking 耦合和前面提到的 JSONModel 一样,我没有发现还需要什么。我可以轻松地通过类别扩展它们。

  3. 有许多库可以避免在 UIScrollView 中使用键盘的 UITextField,但大多数情况下我只是使用自定义代码。但如果我需要一个,我会关注TPKeyboardAvoiding 。对于崩溃跟踪,我只使用 CrashlyticsFlurry ,他们提供了自己的SDK,所以我不需要太多代码。而且我不再使用 NIB。

  4. 网络上有许多有用的类别。我创建了自己的存储库作为 CocoaPod,它将所有有用的类别保存在一个 pod 中。我使存储库保持最新状态,并在需要时添加新的类别和小类。其缺点是您通常不需要全部,因此有时会加载太多代码。但直到现在我还没有注意到任何性能方面的缺点。如果需要的话可以看看GitHub ,看起来怎么样。

不要忘记项目初始化,我一直在开发自己的自定义 Xcode 项目模板来解决这个问题。

关于ios - 如何为iOS项目编写好的基类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22746753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com