zoukankan      html  css  js  c++  java
  • 《从零开始学Swift》学习笔记(Day 49)——扩展声明

    原创文章,欢迎转载。转载请注明:关东升的博客 

    声明扩展的语法格式如下:

    extension 类型名 {   

        //添加新功能

    }

    声明扩展的关键字是extension,“类型名”是Swift中已有的类型,包括类、结构体和枚举,但是我们仍然可以扩展整型、浮点型、布尔型、字符串等基本数据类型,这是因为这些类型本质上也是结构体类型。打开Int的定义如下:

    struct Int : SignedInteger {

        init()

        init(_ value: Int)

        static func convertFromIntegerLiteral(value: Int) -> Int

        typealias ArrayBoundType = Int

        func getArrayBoundValue() -> Int

        static var max: Int { get }

        static var min: Int { get }

    }

    从定义可见Int是结构体类型。不仅是Int类型,我们熟悉的整型、浮点型、布尔型、字符串等数据类型本质上都是结构体类型。

    Swift中的扩展机制可以在原始类型中添加的新功能包括:

    l 实例计算属性和类型计算属性

    l 实例方法和类型方法

    l 构造函数

    l 下标

    还有嵌套类型等内容也可以扩展,扩展还可以遵从协议。

    欢迎关注关东升新浪微博@tony_关东升。
    关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
                              ​
    更多精品iOS、Cocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
    智捷课堂论坛网站:http://51work6.com/forum.php

  • 相关阅读:
    关于本博客
    洛谷P3387 【模板】缩点 题解
    spfa学习笔记
    Google Chrome Download
    Kosaraju算法学习
    fhq treap 学习笔记
    OIerChat
    python request.get(h.html),用xpath获取数据为空
    k8s 用ingress暴露集群环境中的服务。
    harbor push 报received unexpected HTTP status: 500 Internal Server Error
  • 原文地址:https://www.cnblogs.com/iOS-Blog/p/5051340.html
Copyright © 2011-2022 走看看