objective-c - 在 iOS 中创建您自己的自定义库?

标签 objective-c ios xcode model-view-controller shared-libraries

我是编程新手,想更高效地开始编程。尽管尽我所能,但我经常发现自己偏离了 MVC 模型。

我想知道在使用 xcode objc 编码时,是否有任何技巧或方法可以让您的代码井井有条?更具体地说(我知道你们喜欢这样 :) 我想

  1. 能够编写可以从一个项目带到另一个项目的库或自包含代码
  2. 将我的代码作为开源项目与他人分享
  3. 防止自己编写不遵循正确结构的困惑代码

最佳答案

  • 使用高警告级别。干净地构建。
  • 消除所有静态分析器问题。
  • 编写一些单元测试。
  • 保持公共(public)接口(interface)较小。
  • 指定您的库的依赖项(例如最低 SDK 版本和依赖库)。
  • 定期针对多个/受支持的操作系统版本进行编译。
  • 学习创建和管理静态库目标。这就是您在另一个项目中支持和重用该库所需的全部(除非您将外部资源拖到图片中,这会变得很痛苦)。
  • 没有全局状态(例如单例、全局变量)。
  • 准确说明多线程上下文中的支持(更常见的是,并发性应由客户负责)。
  • 记录您的公共(public)界面(也许还有您的私有(private)界面……)。
  • 定义精确且统一的错误模型。
  • 错误检测永远不够。
  • 设定非常高的标准 -- 构建它们以作为引用实现重复使用。
  • 尽早确定库的粒度。这些应该非常小且重点突出。
  • 考虑为您的后端/核心库使用 C 或 C++ 实现(这些东西可以被剥离)。
  • 务必为您图书馆的对象类和类别建立和指定任何前缀。也使用好的前缀。
  • 尽量减少可见的依赖关系(例如,不要 #import 大量可能被隐藏的框架)。
  • 确保它在客户端不需要添加额外的 #import 的情况下编译。
  • 不要依赖客户把东西放在特定的地方,否则资源会有特定的名称。
  • 对内存消耗和执行成本非常保守。
  • 没有泄漏。
  • 没有僵尸。
  • 主线程上没有缓慢的阻塞操作。
  • 在经过充分测试并且已经稳定一段时间之前,不要发布任何内容。错误会破坏客户的代码,如果您的库不断破坏他们的程序,他们就不太可能重用您的库。
  • 研究、使用和学习优秀图书馆。
  • 请人(最好是比您更有经验的人)检查您的代码。
  • 在您的项目中适本地使用/使用这些库。
  • 在添加功能之前修复错误。

不要被这吓到 - 它真的很有趣,您可以在此过程中学到很多东西。

关于objective-c - 在 iOS 中创建您自己的自定义库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12345279/

相关文章:

ios - 如何在向后导航中获取 View Controller Storyboard ID 或 restortionIdentifier?

Objective-C 隐式转换 obj-c 指针到自动释放 id<protocol> 错误

swift - WKDownloadDelegate 下载失败并出现错误 -3000

ios - 将数据从子模态 VC 传递到父 View Controller 的最佳方式?

ios - 如何验证客户端代码没有被更改?

objective-c - FirstResponder 丢失重做 :

iphone - Objective-C : Detecting change in accelerometer

ios - 如何使用像素化更正 UIView 和 UILabel 文本缩放?

ios - 为什么在通过蜂窝网络下载图像时总是出现 NSURLConnection 超时?

ios - 具有多个项目的 Xcode Storyboard引用包不起作用