美文网首页
iOS学习周报三

iOS学习周报三

作者: eaa1d39d22a8 | 来源:发表于2015-12-25 22:46 被阅读401次

    在Swift中用??操作符替代判空

    在C#中也是有??操作符的,用法和Swift类似
    用法如下:

    //如果b不为空,则a=b, 否则a = “another value"
    let a = b ?? “another value” 
    

    相当于

    if b == nil {
         a = “another value"
    }
    else {
         a = b
    }
    

    开源项目

    1.Swift依赖库管理

    Swift依赖库管理有三种方式:

    • CocoaPods (中心化的依赖管理器,CocoaPods项目同时还必须包含一个podspec
      文件,里面是项目的一些元数据,以及确定项目的编译方式)

    • Carthage(Github,去中心化的依赖管理器,Carthage使用xcodebuild
      来编译框架的二进制文件。Github已经有相当一部分Swift开源库采用Carthage进行管理,详细介绍文章可以参考,不过Carthage支持iOS 8及以上)

    • Swift Package Manager (苹果Swift推荐的依赖库管理方式,相信后面会成为趋势)
      后期可以详细研究下三种依赖库管理方式的优缺点及细节对比。

    2.Swift log相关开源库

    整理了下Swift star数比较多的3个开源项目,后续如果封装一个Swift log版本可以参考以下,其中有些Log Debug信息对于开发效率还是很有帮助的。

    • SwiftyBeaver
      亮点:支持高亮,简单,可以log各种类型的信息。

    • XCGLogger
      亮点:支持平台比较多,iOS、OS X、WatchOS、tvOS,支持不同的log级别。

    • KZLinkedConsole
      亮点:console下点击debug连接,直接可以定位到工程中对应的log代码行,省去查找的麻烦。

    • QorumLogs
      亮点:支持高亮,支持Google Docs,只需两行代码就可以将log发送到Google Docs。

    相关文章

      网友评论

          本文标题:iOS学习周报三

          本文链接:https://www.haomeiwen.com/subject/baophttx.html