Swift注释 添加编译等

MARK TODO FIXME

  • // MARK:类似OC中的#pragma mark
  • ..MARK: -类似OC中的#pragma mark -
  • // TODO:用于标记未完成的任务
  • // FIXME:用于标记待修复的问题
    image.png

条件编译

//操作系统 masOS\iOS\tvOS\watchOS\Linux\Android\Windows\FreeBSD
    #if os(macOS) || os(iOS)
    //CPU架构: i386\x86_64\arm\arm64
    #elseif arch(x86_64) || arch(arm64)
    // swift版本
    #elseif swift(<5) && swift(>=3)
    //模拟器
    #elseif targetEnvironment(simulator)
    //可以导入某模块
    #elseif canImport(Foundation)
    #else
    #endif
  • 可以在项目中添加自定义的宏


    image.png
override func viewDidLoad() {
        
        print("2222")
         #if TEST
         print("test")
         #endif
        print("3333")
        #if OTHER
        print("OTHER")
        #endif
        print("4444")
    }
  • 切换DEBUG Release模式
    image.png
 override func viewDidLoad() {
        
        #if DEBUG
        print("DEBUG")
        #else
        print("Release")
        #endif
    }

打印

func log<T>(_ msg: T,file: NSString = #file,line: Int = #line,fn: String = #function) {
    #if DEBUG
    let prefix = "\(file.lastPathComponent)_\(line)_\(fn):"
    print(prefix,msg)
    #endif
}

系统版本检测

 override func viewDidLoad() {
        if #available(iOS 10, macOS 10.12, *) {
            //对于iOS平台,只在iOS10及以上版本执行
            //对于macOS平台,只在macOS 10.12及以上版本执行
            //最后的*表示在其他所有平台都执行
        }
    }

API可用性说明

//Person在iOS 10, macOS 10.15及以上版本才可用
//* 表示其他平台都可用
@available(iOS 10, macOS 10.15,*)
class Person { }

struct Student {
    //study_ 更名为study
    @available(*,unavailable, renamed: "study")
    func study_() { }
    func study() { }

    //run方法在iOS11 macOS10.12 已弃用
    @available(iOS, deprecated: 11)
    @available(macOS, deprecated: 10.12)
    func run() {
        
    }
}

iOS程序入口

  • 在AppDelegate上面默认有个@UIApplicationMain标记,表示:编译器自动生成入口代码main函数代码,自动设置AppDelagate为APP的代理
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,866评论 1赞 32
  • 参考资源《swifter》https://github.com/iOS-Swift-Developers/Swif...
    柯浩然阅读 1,555评论 0赞 6
  • 简介 特点(1)优于OC,快速,安全(2)取消了预编译指令包括宏定义(OC用的太多了)(3)取消了OC指针和不安全...
    洛洛爱吃肉阅读 1,140评论 0赞 3
  • 介绍:此程序是使用python做的一个爬虫小程序 爬取了python百度百科中的部分内容,因为这个demo是根据网...
    小天真_5eeb阅读 3,584评论 0赞 38
  • 今天,我们吉磨小学全体师生在教学楼前举行了一次精彩社团展示和课本剧表演,二九天气,寒意料峭,但丝毫不影响老师...
    姬磨小学李会巧阅读 398评论 0赞 0

友情链接更多精彩内容