Swift 基础(1) -- 自定义LOG

Swift 3.0 自定义LOG.

// Swift 3.0 自定义LOG
func WSJLog<T>(messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
    #if DEBUG
        // 获取路径中的文件名.
        let fileName = (file as NSString).lastPathComponent
        print("\(fileName):(\(lineNum))-\(messsage)")
    #endif
}
  • 知识点一 :系统自带常量
    (1) #line : 当前行号.
    (2) #file : 当前文件名字.
    (3) #function : 当前方法.

  • 知识点二 : 全局函数
    在任何一个 .Swift文件中,在类外面定义的方法都是全局方法,全局方法在任何一个类中都可以访问到.

  • 知识点三 : DEBUG 变量定义,Swift中没有宏定义.
    (1) 打开项目的build setting , 搜索 swift flag.
    (2) 在Debug下添加标志-D DEBUG

    添加标志

    添加的标志只有在Debug模式下才会有效.

  • 泛型.
    使用泛型可以实现传递任何类型的参数.

func func1<T>(p1:T){
// 此时的 T 代表任意类型.
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 136.泛型 泛型代码让你可以写出灵活,可重用的函数和类型,它们可以使用任何类型,受你定义的需求的约束。你可以写出...
    无沣阅读 1,523评论 0 4
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,460评论 25 708
  • 我们总是向往美好,不愿面对丑恶。导演太残忍,把人们最不愿面对的人性之丑恶部分剖开给人看。 一曼是我最心疼的一个角色...
    竹叶青zw阅读 410评论 7 7
  • 本文讨论设计流程的最后一个环节-选择方案。故名思义,选择方案即是从上一步骤-探索可能性-得到的可能解决方案的集合中...
    整颗菜阅读 888评论 0 5