zoukankan      html  css  js  c++  java
  • 23-几个iOS工程通用模块介绍

     

    写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上。

    GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好。一下摘录一下几乎每个项目都想集成的几个框架。

    1. Mantle

     

    Mantle 让我们能简化 Cocoa 和 Cocoa Touch 应用的 model 层。简单点说,程序中经常要进行网络请求,请求到得一般是 json 字符串,我们一般会建一个 Model 类来存放这些数据。这就要求我们编写一系列的序列化代码,来把 json 转换为 Model 。这很费时间,容易错,不容易修改。 Mantle 很好的解决了这个问题,而且更易用。

    • GitHub : https://github.com/Mantle/Mantle

    • 参考:

      工具篇: Mantle
      源码篇: Mantle

    • CocoaPod 集成: pod 'Mantle', '~> 1.5.4'

     

    2. Masonry

     

    IB 时代,如果你还在用代码绝对布局就太 low 了。随着苹果发布 iPhone6 、 iPhone 6 plus 。 iOS 设备将会出现越来越丰富的屏幕尺寸,我们不可能根据每个尺寸做一套布局。所以,使用 autolayout 就很有必要了。在 storyboard 中,可以非常方便的使用 autolayout ,但是为了更好的协作开发,有些公司依然在手写布局,令人沮丧的是苹果提供的 autolayout 语法晦涩难懂,非常影响效率(你可以在 这里 动态查看 autolayout 的语法)。 Masonry 就是设计来解决复杂的手写 autolayout 。如何优雅的使用 autolayout ,且看 Masonry 。

    • GitHub : https://github.com/Masonry/Masonry

    • 参考:使用方法,请看 README

    • CocoaPod 集成: pod 'Masonry', '~> 0.6.1'

     

    3. Reachability

     

    移动互联网时代,应该很少有应用是不需要网络连接的吧。监测网络连接状态几乎是必不可少的一部分。 Reachability 可以完美的完成这一任务

    • GitHub : https://github.com/tonymillion/Reachability

    • 参考:使用方法非常简单,请看 README

    • CocoaPod 集成: pod 'Reachability', '~> 3.2'

     

    4. BlocksKit

     

    BlocksKit绝对是 Objective-C 的知心伴侣,它为 OC 常用类提供了强大的 Block 语法支持,使得编写 OC 代码变得舒适、快速、优雅。反正我是绝对离不开它。

    更多技术请关注iOS开发:iOSDevTip

     

     

    • GitHub : https://github.com/zwaldowski/BlocksKit

    • 参考: block 使用小结、在 arc 中使用 block 、如何防止循环引用 (zz)

    • CocoaPod 集成: pod 'BlocksKit', '~> 2.2.5'

     

    5. KVOController

     

    如果你在项目中有使用 KVO ,那么 KVOController 绝对是个好选择。它是 facebook 开源的一个 KVO 增强框架。有以下几个特性:

    • 使用 Blocks 、自定义 Actions 或者 NSKeyValueObserving 回调进行通知 .

    • 观测者移除时无异常

    • 控制器 dealloc 时隐式的观测者移除

    • 提升使用 NSKeyValueObservingInitial 的性能

    • 线程安全并提供在观测者恢复时额外的保护

      还有什么理由不使用 KVOController 呢?

    • GitHub : https://github.com/facebook/KVOController

    • 参考: KVOController : facebook 开源的 KVO ( Key-value Observing )工具

    • CocoaPod : pod 'KVOController', '~> 1.0.3'

     

    6. MBProgressHUD

     

    一个老牌、经典的通知组件,如果你们美工没有专门设计等待和通知视图,那就用它吧!

    • GitHub : https://github.com/jdg/MBProgressHUD

    • 参考

    • CocoaPod : pod 'MBProgressHUD', '~> 0.9'

     

    7. ODRefreshControl

     

    很 多公司都自己设计下拉刷新视图,比如网易新闻 iOS 客户端,下拉的时候会有广告出现。如果你只是需要一个下拉刷新,那么可以考虑 ODRefreshControl ,它是原 iOS6 上的橡皮糖刷新样式,很有意思。现在也很多大的 App 在用,比如虾米音乐和 QQ 客户端。

    • GitHub : https://github.com/Sephiroth87/ODRefreshControl

    • 参考

    • CocoaPod : pod 'ODRefreshControl', '~> 1.1.0'

     

    8. pop

     

    又是 Facebook 开源的。大名鼎鼎的 pop ,做动画的不二之选。收下它吧。

    • GitHub : https://github.com/facebook/pop

    • 参考: Facebook Pop 使用指南 popping(pop 的使用实例 )

    • CocoaPod : pod 'pop', '~> 1.0.7'

     

    9. AFNetworking

     

    Objective-C下网络请求库。

     

      • GitHub : https://github.com/AFNetworking/AFNetworking

      • 参考

      • CocoaPod : pod 'AFNetworking', '~> 2.5.0'

  • 相关阅读:
    zoj 3627#模拟#枚举
    Codeforces 432D Prefixes and Suffixes kmp
    hdu 4778 Gems Fight! 状压dp
    CodeForces 379D 暴力 枚举
    HDU 4022 stl multiset
    手动转一下田神的2048
    【ZOJ】3785 What day is that day? ——KMP 暴力打表找规律
    poj 3254 状压dp
    C++中运算符的优先级
    内存中的数据对齐
  • 原文地址:https://www.cnblogs.com/iyuanxiaojun/p/4512245.html
Copyright © 2011-2022 走看看