当前位置: 首页 > news >正文

模板网站设计报价/小程序开发哪家好

模板网站设计报价,小程序开发哪家好,wp大学wordpress创建数据库,邢台营销型网站制作1.在 Swift 中,枚举类型是一等(first-class)类型。它们采用了很多在传统上只被类(class)所支持的特性,例如计算型属性(computed properties),用于提供枚举值的附加信息&a…

1.在 Swift 中,枚举类型是一等(first-class)类型。它们采用了很多在传统上只被类(class)所支持的特性,例如计算型属性(computed properties),用于提供枚举值的附加信息,实例方法(instance methods),用于提供和枚举值相关联的功能。枚举也可以定义构造函数(initializers)来提供一个初始值;可以在原始实现的基础上扩展它们的功能;还可以遵守协议(protocols)来提供标准的功能。

下面是用枚举表示指南针四个方向的例子:

enum CompassPoint {case Northcase Southcase Eastcase West }

枚举中定义的值(如 NorthSouthEastWest)是这个枚举的成员值(或成员)。你使用case关键字来定义一个新的枚举成员值。 

与 C 和 Objective-C 不同,Swift 的枚举成员在被创建时不会被赋予一个默认的整型值。在上面的CompassPoint例子中,NorthSouthEastWest不会被隐式地赋值为0123。相反,这些枚举成员本身就是完备的值,这些值的类型是已经明确定义好的CompassPoint类型。

2.var directionToHead = CompassPoint.West

directionToHead的类型可以在它被CompassPoint的某个值初始化时推断出来。一旦directionToHead被声明为CompassPoint类型,你可以使用更简短的点语法将其设置为另一个CompassPoint的值:

directionToHead = .East

 3.在 Swift 中,使用如下方式定义表示两种商品条形码的枚举:

enum Barcode {case UPCA(Int, Int, Int, Int)case QRCode(String)
}

以上代码可以这么理解:

“定义一个名为Barcode的枚举类型,它的一个成员值是具有(Int,Int,Int,Int)类型关联值的UPCA,另一个成员值是具有String类型关联值的QRCode。”

这个定义不提供任何IntString类型的关联值,它只是定义了,当Barcode常量和变量等于Barcode.UPCABarcode.QRCode时,可以存储的关联值的类型。

productBarcode = .QRCode("ABCDEFGHIJKLMNOP")

这时,原始的Barcode.UPCA和其整数关联值被新的Barcode.QRCode和其字符串关联值所替代。Barcode类型的常量和变量可以存储一个.UPCA或者一个.QRCode(连同它们的关联值),但是在同一时间只能存储这两个值中的一个。

4.关联值可以被提取出来作为 switch 语句的一部分。你可以在switch的 case 分支代码中提取每个关联值作为一个常量(用let前缀)或者作为一个变量(用var前缀)来使用:

switch productBarcode {
case .UPCA(let numberSystem, let manufacturer, let product, let check): print("UPC-A: \(numberSystem), \(manufacturer), \(product), \(check).") case .QRCode(let productCode): print("QR code: \(productCode).") } // 输出 "QR code: ABCDEFGHIJKLMNOP."

5.
Swift 中类和结构体有很多共同点。共同处在于:
  • 定义属性用于存储值
  • 定义方法用于提供功能
  • 定义附属脚本用于访问值
  • 定义构造器用于生成初始化值
  • 通过扩展以增加默认实现的功能
  • 实现协议以提供某种标准功能

与结构体相比,类还有如下的附加功能:

  • 继承允许一个类继承另一个类的特征
  • 类型转换允许在运行时检查和解释一个类实例的类型
  • 解构器允许一个类实例释放任何其所被分配的资源
  • 引用计数允许对一个类的多次引用

注意:结构体总是通过被复制的方式在代码中传递,不使用引用计数。

6.所有结构体都有一个自动生成的成员逐一构造器,用于初始化新结构体实例中成员的属性。新实例中各个属性的初始值可以通过属性的名称传递到成员逐一构造器之中:

let vga = Resolution(width:640, height: 480)

与结构体不同,类实例没有默认的成员逐一构造器。

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

在 Swift 中,所有的结构体和枚举类型都是值类型。这意味着它们的实例,以及实例中所包含的任何值类型属性,在代码中传递的时候都会被复制。

 8.类是引用类型,引用类型在被赋予到一个变量、常量或者被传递到一个函数时,其值不会被拷贝。

 9.请注意,“等价于”(用三个等号表示,===)与“等于”(用两个等号表示,==)的不同:

  • “等价于”表示两个类类型(class type)的常量或者变量引用同一个类实例。
  • “等于”表示两个实例的值“相等”或“相同”

10.按照通用的准则,当符合一条或多条以下条件时,请考虑构建结构体:

  • 该数据结构的主要目的是用来封装少量相关简单数据值。
  • 有理由预计该数据结构的实例在被赋值或传递时,封装的数据将会被拷贝而不是被引用。
  • 该数据结构中储存的值类型属性,也应该被拷贝,而不是被引用。
  • 该数据结构不需要去继承另一个既有类型的属性或者行为。

转载于:https://www.cnblogs.com/guoxiaoqian/p/5118628.html

http://www.lbrq.cn/news/759205.html

相关文章:

  • 公司网站建设应注意什么/餐饮培训
  • 如何利用互联网进行宣传推广/杭州专业seo服务公司
  • 网站开发前景好吗/百度问答官网
  • 关于网站建设案例/十大管理培训课程
  • 制作外贸网站开发/百度在线客服
  • 凉山建设机械网站/网站怎么优化关键词排名
  • 微信网站搭建/口碑营销的经典案例
  • 南宁伯才网络公司做网站好吗/口碑seo推广公司
  • 四川建设行政主管部门官方网站/风云榜小说排行榜
  • 珠海正规网站制作哪家强/百度贴吧广告投放价格
  • dede可以做视频网站/谷歌搜索引擎优化
  • 桂林象鼻山离哪个高铁站近/台州关键词优化服务
  • 手机主页网站/免费下载官方百度
  • 兰州做网站怎么样/微信怎么推广
  • wordpress双语版/现在学seo课程多少钱
  • 30g月流量网站/网站优化排名资源
  • 免费的个人空间建网站/广告投放都有哪些平台
  • 青羊区建设网站/新软件推广
  • 设计一款网页需要多少钱/百家港 seo服务
  • 现在公司一般用什么邮箱/网站优化策略分析论文
  • 品牌网站设计方案/百度竞价排名背后的伦理问题
  • 建设网站公司是什么/百度云盘网页版
  • 做网站排名推广效果怎么样/手机优化大师哪个好
  • php网站开发接口文档/小程序推广运营的公司
  • 关于网站开发的需求文档/搜索引擎优化的名词解释
  • 做消费信贷网站/如何使用免费b站推广网站
  • 在凡科做的网站怎么推广/性价比高seo排名优化的
  • wordpress如何自建站/免费的网络推广平台
  • 企业网站的开发建设方案怎么写/自动seo系统
  • 十大网站建设/什么是网络营销策划
  • Java 大视界 -- Java 大数据在智能教育虚拟学习环境构建与学习体验增强中的应用(399)
  • 开源安全云盘存储:Hoodik 实现端到端数据加密,Docker快速搭建
  • 宋红康 JVM 笔记 Day01|JVM介绍
  • K8s学习----Namespace:资源隔离与环境管理的核心机制
  • 基于SpringBoot+Vue的智能消费记账系统(AI问答、WebSocket即时通讯、Echarts图形化分析)
  • C# WPF本地Deepseek部署