在C#中也是有??操作符的,用法和Swift类似 用法如下:
//如果b不为空,则a=b, 否则a = “another value"
let a = b ?? “another value”
相当于
if b == nil {
a = “another value"
}
else {
a = b
}
Swift依赖库管理有三种方式:
CocoaPods (中心化的依赖管理器,CocoaPods项目同时还必须包含一个podspec 文件,里面是项目的一些元数据,以及确定项目的编译方式)
Carthage(Github,去中心化的依赖管理器,Carthage使用xcodebuild 来编译框架的二进制文件。Github已经有相当一部分Swift开源库采用Carthage进行管理,详细介绍文章可以参考,不过Carthage支持iOS 8及以上)
Swift Package Manager (苹果Swift推荐的依赖库管理方式,相信后面会成为趋势)
后期可以详细研究下三种依赖库管理方式的优缺点及细节对比。
整理了下Swift star数比较多的3个开源项目,后续如果封装一个Swift log版本可以参考以下,其中有些Log Debug信息对于开发效率还是很有帮助的。
SwiftyBeaver 亮点:支持高亮,简单,可以log各种类型的信息。
XCGLogger 亮点:支持平台比较多,iOS、OS X、WatchOS、tvOS,支持不同的log级别。
KZLinkedConsole 亮点:console下点击debug连接,直接可以定位到工程中对应的log代码行,省去查找的麻烦。
网易云新用户大礼包:https://www.163yun.com/gift
本文来自网易实践者社区,经作者胡波授权发布。