《从零开始学Swift》学习笔记(Day 49)——扩展声明

简介:

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

1
2
3
extension 类型名 {   
     //添加新功能
}


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

1
2
3
4
5
6
7
8
9
struct Int : SignedInteger{
     init()
     init(_ value: Int)
     static  funcconvertFromIntegerLiteral(value: Int) -> Int
     typealias ArrayBoundType = Int
     func getArrayBoundValue() -> Int
     static  var max: Int { get }
     static  var min: Int { get }
}


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

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

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

  • 实例方法和类型方法

  • 构造函数

  • 下标

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




本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1747536,如需转载请自行联系原作者

相关文章
|
6月前
|
存储 Swift iOS开发
31 Swift 继续聊聊协议扩展
Swift 继续聊聊协议扩展
50 0
|
Swift
Swift之UIView的扩展
Swift之UIView的扩展
138 0
Swift之UIView的扩展
|
存储 前端开发 Swift
Swift实用小册19:Extension扩展的使用
在本章中,你将学会Extension扩展的使用方法。
313 0
Swift实用小册19:Extension扩展的使用
|
Swift
Swift学习笔记——页面跳转
创建一个single view app后,项目中有main.storyboard,里面是一个viewcontroller。 那么我们如何实现页面跳转 首先添加一个导航控制器Navigation Controller。点击右上的➕,然后选择控件拖到面板上即可
1150 0
|
前端开发 测试技术 Swift
Swift学习笔记——新建项目
在xcode菜单中选择 new -> project -> single view app 点击next在弹出窗中填写项目名称 这里languge有可以选择object-c或swift作为项目语言。这里我们学习swift,所以选择swift。 如果language选择swift,下面的user interface可以选择swiftUI和storyboard。 SwiftUI是2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架,与flutter类似,是用代码编写页面,支持快速预览。
667 0
|
Swift
Swift专题讲解二十——扩展
Swift专题讲解二十——扩展
98 0
|
Swift iOS开发
21.Swift学习之扩展
扩展 为现有的类、结构体、枚举类型、协议添加了新功能。扩展和 Objective-C 中的分类类似。 扩展可以: 添加计算属性; 定义方法; 提供新的构造函数; 使现有的类型遵循某协议 Swift中使用extension关键字实现扩展 语法 extension SomeType { // new functionality to add to SomeType goes here } 扩展可以使已有的类型遵循一个或多个协议。
1207 0