GYDFoundation 1.0.5

GYDFoundation 1.0.5

GongYaDong 维护。



  • 作者
  • pkgogai

GYDFoundation

其它文档

数据库

JSON

字符串

图片压缩

项目介绍

个人的iOS私有库

目录结构

  1. 外层结构

    • GYDFoundation:基础代码
    • GYDDatabase:数据库,依赖FMDB
    • GYDHTTPConnect:网络请求
    • GYDJSONObject:JSON-Model互转
    • GYDShellTools:Shell工具
    • iOSExample:iOS示例工程
    • MacExample:Mac示例工程
    • GYDFoundation.podspec:pod配置文件
  2. 内层结构

    • Code:功能代码
    • Resources:图片等资源文件
    • Test:单元测试代码
    • Demo:示例代码

安装教程

使用POD安装,Podfile配置方法如下:

  1. 安装默认功能:默认功能包括:GYDFoundation,GYDDatabase,GYDHTTPConnect,GYDJSONObject

    pod 'GYDFoundation'
    

    现在还没向pod提交,可以直接指定git路径。

    pod 'GYDFoundation',
      :git => 'https://github.com/pkgogai/GYDFoundation.git',
      :branch => 'master'
      #分支可以改成tag或节点
      #:tag => '0.0.4'
      #:commit => 'f7cc204e2db82f8488229f09e073977d3db4abbd'
    
  2. 安装指定功能:如果想安装其中个别功能,可以指定specsub,例如只需GYDJSONObject,依赖的GYDFoundation也会同时被引入:

    pod 'GYDFoundation',
      :git => 'https://github.com/pkgogai/GYDFoundation.git',
      :tag => '0.0.4',
      :subspecs => ['GYDJSONObject']
    
  3. 特殊处理安装:特殊处理目前包括:GYDJSONObjectNonatomic,GYDDatabaseNoEscape,Development,安装方式还是specsub。

    • GYDJSONObjectNonatomic:json转换默认是可在多个线程使用的,当只在一个线程使用时可以加上这个,去掉线程安全的处理。
    • GYDDatabaseNoEscape:数据库封装的SQL语句默认将表名、列名等转义,当表名和列名都是普通字符时,可以加上这个去掉转义的处理。
    • 开发模式:加上这个使用开发模式,会有日志,json转model时保留原json对象等功能。这是刚刚加入的定义,其实代码还没有开发。
  4. 安装单元测试:4个subspecs都有与其对应的单元测试代码,可按需添加对应的tests,虽然目前只是随便写写,但下次也许会完善的。

    ……前面省略……
    :testspecs => ['Tests/GYDFoundation','Tests/GYDDatabase','Tests/GYDHTTPConnect','Tests/GYDJSONObject']
    

    为了可以手动点击单个测试用例,需要在工程Schemes编辑中,“Test”>“Info”>“+”,选择“GYDFoundation-Unit-Tests”完成添加。

  5. 安装Demo:这里还有如何使用的演示。单元测试正式项目也会依赖,而Demo不同,是单独用来演示用的,所以没必要拆分,直接依赖所有功能。

    ……前面省略……
    :subspecs => ['Demo']
    
  6. 本人在开发时使用本地相对路径,Demo,Tests全都要

    pod 'GYDFoundation', 
    :path => '../../GYDFoundation',
    :subspecs => ['Demo'],
    :testspecs => ['Tests/GYDFoundation','Tests/GYDDatabase','Tests/GYDHTTPConnect','Tests/GYDJSONObject',]
    

使用说明

  1. 引用头文件:

    聚合类头文件:GYDFoundation.h,GYDUIKit.h。GYDFoundation.h会将所选功能的头文件都包含进去,只有UIKit相关除外,在开发非UI类时建议使用这个。GYDUIKit.h在GYDFoundation.h基础上包含了其余UIKit相关的头文件,在开发UI类时建议使用这个。也可根据需要只引用具体某个头文件,但还是建议上面2选1。我习惯在User Header Search Paths里加一个值${HEADER_SEARCH_PATHS},这样所有文件都可使用双引号引用,风格统一,不同功能库间可以直接移动文件。

    #import "GYDFoundation.h"
    
  2. 其他待续