美文网首页
Swift:随手记

Swift:随手记

作者: 春暖花已开 | 来源:发表于2019-01-11 16:08 被阅读26次

简单里的小知识点。


实现pch功能
@_exported用于在自己模块中导出其他模块。

比如,自己定义了一个 A 模块。
在 A 模块中定义:

@_exported import UIKit

当我们引入 A 模块(import A)时,可以使用 UIKit 中的符号。
Enum的mutating
enum MyEnum {
    case high, low, off
    
    mutating func change() {
        switch self {
        case .high:
            self = .low
        case .low:
            self = .off
        case .off:
            self = .high
        }
    }
}

var status = MyEnum.high  // high
status.change()  // low
status.change()  // off
status.change()  // high

类、结构体和枚举要使用大驼峰命名方法,方法和属性是用小驼峰命名方法。

所有结构体都有一个自动生成的成员逐一构造器,用于初始化新结构体实例中成员的属性。与结构体不同,类实例没有默认的成员逐一构造器。

结构体和枚举是值类型。实际上,在 Swift 中,所有的基本类型:整数(Integer)、浮 点数(floating-point)、布尔值(Boolean)、字符串(string)、数组(array)和字典(dictionary),都是 值类型,并且在底层都是以结构体的形式所实现。

属性将值跟特定的类、结构或枚举关联。存储属性存储常量或变量作为实例的一部分,而计算属性计算(不是存储)一个值。计算属性可以用于类、结构体和枚举,存储属性只能用于类和结构体。存储属性和计算属性通常与特定类型的实例关联。但是,属性也可以直接作用于类型本身,这种属性称为类型属性。另外,还可以定义属性观察器来监控属性值的变化,以此来触发一个自定义的操作。属性观察器可以添加到自己定义的存储属性上,也可以添加到从父类继承的属性上。

必须将延迟存储属性声明成变量(使用var关键字),因为属性的初始值可能在实例构造完成之后才会得到。而常量属性在构造过程完成之前必须要有初始值,因此无法声明成延迟属性。

如果一个被标记为lazy的属性在没有初始化时就同时被多个线程访问,则无法保证该属性只会被初始化一次。

相关文章

  • 随拍,手记。

  • Swift:随手记

    简单里的小知识点。 实现pch功能 Enum的mutating: 类、结构体和枚举要使用大驼峰命名方法,方法和属性...

  • Swift语法手记

    1、Swift 调 OC 在桥接文件 SwiftDemo-Bridging-Header.h 里导入,如: 但需要...

  • 随拍随想随手记

    花都是香的吗?或许这株花就得了狐臭。 物竞天择竞的也只是异类,而人却是会兄弟阋墙,手足相残的。 孔雀园...

  • 随笔

    我影随我形, 我手记我心。 天地入穹庐, 谁人随我心。 哈哈哈哈哈…… 长空踏马去, 一路歌相随。

  • 之给view同时添加阴影和圆角

    view同时添加阴影和圆角的需求还是比较常见,单个view是没办法同时实现的,今天用swift写一下,顺手记录下。...

  • swift学习手记-构造函数

    1.对象的创造过程 在swift中必选属性,初始化是分段的,先初始化本类的必选属性,然后再调用super.init...

  • iOS swift OC button 设置富文本

    开发中遇到了设置button富文本的需求,因为遇到的少;这里记录一下 由于目前是在用swift开发,随手记录一下s...

  • Swift--Any和AnyObject的区别

    虽然使用swift开发了一段时间,但是感觉对一些基础的东西了解不是比较透彻,在查询了许多资料以后还是打算自己动手记...

  • 采访手记:茶女孩——随忆

    笔名:随忆 职业:茶文案 擅长领域:茶文化,公众号运营,烘培,组织活动 最喜欢的一句话:失之东隅,收之桑榆 最喜欢...

网友评论

      本文标题:Swift:随手记

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