美文网首页项目
iOS开发之Swift篇(1)—— 关于Swift

iOS开发之Swift篇(1)—— 关于Swift

作者: 看影成痴 | 来源:发表于2019-12-18 16:31 被阅读0次

    目录

    • 版本
    • 前言
    • 关于Swift
    • Swift历史版本
    • Swift与OC的一些差异
    • Hello, world!

    版本

    Xcode 11.0
    Swift 5.1

    前言

    我的Swift篇系列文章主要记录一些基础知识点及个人心得, 方便日后查看. 如需更权威更全面的教程可参考以下:

    1. 中文版 Apple 官方 Swift 教程: SwiftGG. 该翻译项目由 numbbbbb 发起并主导, 已经得到了苹果官方的 认可(Translations 部分). GitHub连接为the-swift-programming-language-in-chinese.
    2. 菜鸟教程Swift 教程.

    关于Swift

    Swift 是一种支持多编程范式和编译式的开源编程语言, 苹果于2014年WWDC(苹果开发者大会)发布,用于开发 iOS, macOS, watchOS及tvOS应用程序。
    2015年6月8日,苹果于WWDC 2015上宣布,Swift将开放源代码,包括编译器和标准库。
    Swift 在 macOS 和 iOS 平台可以和 Objective-C 使用相同的运行环境.
    Swift 通过采用现代编程模式来避免大量常见编程错误:

    • 变量始终在使用前初始化。
    • 检查数组索引超出范围的错误。
    • 检查整数是否溢出。
    • 可选值确保明确处理 nil 值。
    • 内存被自动管理。
    • 错误处理允许从意外故障控制恢复。

    Swift历史版本

    Swift版本历史记录.

    Swift与OC的一些差异

    这里只简单罗列一些大概, 其他一些具体的差异等到后续篇章中碰到的时候再来讨论.

    1. OC一个类由.h和.m两个文件组成, 而Swift只有.swift一个文件.
    2. OC必须要有一个主函数main()作为程序的入口. Swift则不需要main(), 其全局作用域中的代码会被自动当做程序的入口点, 从第一句开始向下顺序执行。
    3. OC导入文件使用import<>或者import"", Swift导入库使用import+库名, 使用本工程.swift文件无需import, 可直接使用.
    4. OC代码行尾需加分号";"(甚至加两个分号都不报错), 而Swift不需要加分号, 如喜欢也可加一个分号(加两个分号会报错). 如果两句代码写在同一行, 则需要分号隔开.
    5. OC打印方法为NSLog, 而Swift使用print.
    6. Swift 的 nil 和 Objective-C 中的 nil 并不一样。在 Objective-C 中,nil 是一个指向不存在对象的指针。在 Swift 中,nil 不是指针——它是一个确定的值,用来表示值缺失。任何类型的可选状态都可以被设置为 nil,不只是对象类型。
    7. Swift3的【Any】可以代表任何类型的值,无论是类、枚举、结构体还是任何其他Swift类型,这个对应OC中的【id】类型。
    8. 使用 let 来声明常量,使用 var 来声明变量。

    Hello, world!

    这里先介绍一下Apple推出的一款学习Swift的神器 -- playground.
    playground集成在Xcode中, 支持代码预览, 写一句代码出一行结果(右侧). 就像是一个可交互的文档, 允许程序员在不编译和运行应用程序的前提下运行 Swift 代码并实时查看结果.
    下面开始我们的第一个Swift工程.


    新建一个playground 创建一个空白的模板 命名及保存路径 点击"播放"按钮运行程序

    注: playground没有像Xcode project那样有个command + R的运行快捷键, 不过我们可以手动给playground添加快捷键.
    打开电脑 系统偏好设置>>键盘>>快捷键>>应用快捷键, 点击"+"按钮, 应用程序选Xcode, 菜单标题填Run Playground, 快捷键可自行设置, 但不能与Xcode现有的快捷键重复(比如⌘R, ⌘B等). 添加完成后我们就不用每次运行都要鼠标去点击"播放"按钮了.


    playground自定义运行快捷键

    相关文章

      网友评论

        本文标题:iOS开发之Swift篇(1)—— 关于Swift

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