• 【读书笔记】A Swift Tour


    素材:A Swift Tour

    推荐下载Playground:Download Playground

    objc 自己较为熟悉,想熟悉下风头正劲的 swift。就先从官方的入门手册开始撸。

    每一小节,我都摘录或总结3个对自己三观冲击最大的【知识点】,以方便以后温习。总结不保证绝对正确,仅供交流之用。O(∩_∩)O哈哈~

    Simple Values

    • var 表示变量
    • let 声明常量
    • [] 用于声明数组和字符串

    Control Flow

    • if 或 while 等的判断条件中必须使用布尔值.
    • 判断条件中的可能为 nil 值,统一使用 let varName = maybeNil 语法.
    • for in 循环,可同时应用于数组,字典或特定范围(Range).

    Functions and Closures

    • 形参新增了 "标签" 语义,有效丰富了函数重载的语义
    • "标签" 语义,不适合用于用作函数参数或函数返回值的函数的声明里.
    • 闭包中,区分参数和函数体的,是通过 in 关键字来分割的.

    Objects and Classes

    • swift 默认不会使用零值在声明时初始化变量.
    • let 常量,只能初始化一次,但可以不在声明时立即初始化.
    • 子类初始化顺序是: 子类未初始化属性的初始化 --> 调用父类 init 方法 --> 其他额外操作

    Enumerations and Structures

    • struct 是复制传值,即使只是简单的 var a = b, a 和 b 也是两个独立的对象.
    • enum 不是必须和某个类型值的关联.
    • enum 可以使用某种模式来作为动态匹配的 case.

    Protocols and Extensions

    • 增加新数据结构通用语法: [class|struct|enum|extension|protocol] 名称 : [class|protocol] {...}
    • Int 等基础类型,其实现是一个 Struct
    • enum 和 extension 不可以持有属性,但是可以用 get 方法来模拟一个属性

    Error Handling

    • try 和有 throws 声明的函数配对使用.
    • try? 可选操作,有异常抛出则返回nil; try! 强制操作,有异常抛出,则抛出无法 do-catch 的致命异常.
    • defer block 在函数异常退出时,也可以正常执行.

    Generics

    • 函数,方法,类,枚举和结构体支持泛型的泛型的方式,就是在声明时的名称后,加 <泛型1, 泛型2, ...>
    • 使用泛型时,要保证能在编译期推导出其类型.
    • 可以使用 where 指定对泛型类型本身的一些要求.
  • 相关阅读:
    Javascript知识汇总------手写图片上传插件
    Javascript知识汇总------面向对象手写弹窗插件
    Javascript知识汇总------面向对象手写拖拽插件
    Javascript知识汇总------获取构造函数constructor名称和一些字符串处理方法
    博客搬家啦
    NOI 2015 荷马史诗【BZOJ 4198】k叉Huffman树
    BZOJ 1044 木棍分割 解题报告(二分+DP)
    BZOJ 1051 最受欢迎的牛 解题报告
    BZOJ 2467 解题报告
    BZOJ 4619 Swap Space 解题报告
  • 原文地址:https://www.cnblogs.com/ios122/p/8213531.html
Copyright © 2020-2023  润新知