首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在swift中定义特定枚举大小写的数组

在Swift中,可以通过定义一个特定枚举来创建大小写敏感的数组。下面是一个示例代码:

代码语言:txt
复制
enum CaseSensitiveEnum: String {
    case apple = "apple"
    case Orange = "Orange"
    case banana = "banana"
}

let caseSensitiveArray: [CaseSensitiveEnum] = [.apple, .Orange, .banana]

在上面的代码中,我们定义了一个名为CaseSensitiveEnum的特定枚举,它包含了三个不同的枚举成员,分别是appleOrangebanana。每个枚举成员都有一个关联的原始值,这里我们使用了字符串作为原始值。

然后,我们创建了一个名为caseSensitiveArray的数组,它的元素类型是CaseSensitiveEnum。我们可以使用枚举成员来初始化数组,并且数组中的元素将保持大小写敏感。

这种方式可以确保数组中的元素严格按照定义的大小写来匹配,避免了大小写不敏感的问题。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift基础 扩展

Swift扩展可以: 添加计算实例属性和计算类型属性 定义实例方法和类型方法 提供新初始化器 定义下标 定义和使用新嵌套类型 使现有类型符合协议 在 Swift ,您甚至可以扩展协议,以提供其要求实现...如果您使用扩展程序将初始化器添加到为其所有存储属性提供默认值且不定义任何自定义初始化器值类型,您可以从扩展初始化器调用该值类型默认初始化器和成员初始化器。...如果您使用扩展程序将初始化器添加到另一个模块声明结构,则新初始化器在从定义模块调用初始化器之前无法访问self。 下面的示例定义了一个自定义Rect结构来表示几何矩形。...这个枚举称为Kind,表示特定整数所代表数字类型。具体来说,它表示数字是负数、零还是正数。 此示例还向Int添加了一个新计算实例属性,称为kind,该属性返回该整数适当Kind枚举情况。...对于数组每个整数,函数考虑该整数kind计算属性,并打印适当描述。 注意 number.kind已经知道是Int.Kind类型。

7900

Swift基础 枚举

Swift基础 - 枚举 翻译自:https://docs.swift.org/swift-book/LanguageGuide/Enumerations.html 枚举为一组相关值定义了通用类型,并使您能够在代码以类型安全方式处理这些值...如果您熟悉C,您将知道C枚举为一组整数值分配相关名称。Swift 枚举要灵活得多,不必为每个枚举案例提供值。...或者,枚举大小写可以指定要存储任何类型关联值,以及每个不同大小写值,就像其他语言中联合或变体一样。您可以将一组常见相关情况定义为一个枚举一部分,每个枚举都有与之关联不同类型值集。...与Swift其他类型一样,他们名字(CompassPoint和Planet)以大写字母开头。...当您首次在代码定义枚举时,原始值设置为预填充值,如上面的三个ASCII代码。特定枚举情况原始值始终相同。当您根据枚举一个情况创建新常量或变量时,会设置关联值,并且每次这样做时都可能不同。

6400

Encoding and Decoding Custom Types

Swift标准库定义了数据编码和解码标准化方法。 您可以通过在自定义类型上实现Encodable和Decodable协议来使用此方法。...当存在此枚举时,其case充当属性权威列表,在编码或解码可编码类型实例时该属性必须包含在内。枚举case名称应与您为类型相应属性指定名称相匹配。...如果在解码实例时它们不存在,或者如果某些属性不应包含在编码表,则忽略CodingKeys枚举属性。...case名称与其原始值之间关联使您可以根据Swift API设计指南命名数据结构,而不必匹配您正在建模序列化格式名称,标点符号和大小写。...,所以类型采用Encodable和Decodable协议使用两个枚举,每个枚举列出在特定级别上使用完整编码密钥集。

1.9K40

使用 key paths 创建自定义查询函数

前言 作为一个相当严格,静态编译语言,Swift 可能不会在语法自定义方面提供许多渠道,但这实际上确正好相反。...通过如何在 Swift 定义操作符,Swift key paths 能力,函数/结果构建器 等功能,我们有很多机会为特定用例进行调整 Swift 语法。...前置操作符,让其可以应用于任何 Bool key paths,以便将其转换为否定(或翻转)其值函数 ——现在我们可以计算我们 UnreadArticles 数组了: let unreadArticles...该属性,类别的类型目前被定义为如下所示枚举: extension Article { enum Category { case fullLength case...操作符一样,我们也可以用 == 运算符进行同样事情,我们将返回一个返回 Bool 闭包,然后可以直接传递给筛选器( filter 过滤器): func ==(lhs

2K30

Swift基础 嵌套类型

Swift基础 - 嵌套类型 翻译自:https://docs.swift.org/swift-book/LanguageGuide/NestedTypes.html 创建枚举通常是为了支持特定类或结构功能...同样,可以方便地定义纯属实用程序类和结构,以便在更复杂类型上下文中使用。为了做到这一点,Swift使您能够定义嵌套类型,从而在它们支持类型定义嵌套支持枚举、类和结构。...要将类型嵌套在另一种类型,请在它支持类型外部大括号写入其定义。类型可以嵌套到所需任意级别。...由于BlackjackCard是一个没有自定义初始化器结构,因此它有一个隐式成员初始化器,结构类型成员初始化器中所述。...它们类型可以从上下文中推断出来,因此此实例初始化只能通过它们大小写名称(.ace和.spades)来引用枚举案例。

7800

Swift基础 结构和类

Swift,您在单个文件定义结构或类,该类或结构外部接口会自动供其他代码使用。 注意 类实例传统上被称为对象。...类支持额外功能以增加复杂性为代价。作为一般准则,更喜欢结构,因为它们更容易推理,并在适当或必要时使用类。在实践,这意味着您定义大多数自定义数据类型将是结构和枚举。...上面的示例还定义了一个名为VideoMode新类,以描述视频显示特定视频模式。该类有四个变量存储属性。...事实上,Swift所有基本类型——整数、浮点数、布尔值、字符串、数组和字典——都是值类型,并作为幕后结构实现。 所有结构和枚举都是Swift值类型。...这意味着,您创建任何结构和枚举实例,以及它们作为属性任何值类型,在代码传递时,总是会被复制。 注意 标准库定义集合,如数组、字典和字符串,使用优化来降低复制性能成本。

7000

Swift 周报 第四十二期

该提案引入了指定函数和闭包只能引发特定具体类型错误能力。...总体而言,我们目标是在 Swift 引入更细致模式匹配,允许在不消耗值情况下进行借用和变异,并探索这些增强功能在各种语言结构( switch 语句和条件)含义。...在 Swift Concurrency ,主要参与者执行者负责将工作分派到该队列上,就像常规参与者执行者(默认执行者)将工作分派到协作队列上一样,您链接文章中所述 但并非所有进程都有主线程;它主要是一个与...利用 SwiftUI 绑定大小写键路径,启用基于枚举大小写导航和表单控件使用。 使用大小写键路径组合应用程序功能,在构建和组合不同应用程序功能时特别有用。...Actors 可以确保代码在特定线程上执行,主线程或后台线程,并帮助同步访问可变状态以防止数据竞争。

20510

Swift Phantom(幻象)类型

如果我们再深入一点,就会发现 Swift 标准库将我们上面提到UTF8类型定义为另一个类似命名空间枚举一个无大小写枚举,称为Unicode。...,我们将定义一个类似的枚举——DocumentFormat——作为三个无大小写枚举命名空间,每种格式都有一个: enum DocumentFormat { enum Text {}...>来引用一个文本文档是相当乏味,所以让我们也使用类型别名为每种格式定义速记。...一个标准模式 起初,幻象类型在 Swift 可能看起来有点 "格格不入"。...然而,虽然 Swift 并没有像更多纯函数式语言(Haskell)那样为幻象类型提供一流支持,但在标准库和苹果平台SDK许多不同地方都可以找到这种模式。

86220

Swift 幻象类型

如果我们再深入一点,就会发现 Swift 标准库将我们上面提到UTF8类型定义为另一个类似命名空间枚举一个无大小写枚举,称为Unicode。...,我们将定义一个类似的枚举——DocumentFormat——作为三个无大小写枚举命名空间,每种格式都有一个: enum DocumentFormat { enum Text {}...>来引用一个文本文档是相当乏味,所以让我们也使用类型别名为每种格式定义速记。...一个标准模式 起初,幻象类型在 Swift 可能看起来有点 "格格不入"。...然而,虽然 Swift 并没有像更多纯函数式语言(Haskell)那样为幻象类型提供一流支持,但在标准库和苹果平台SDK许多不同地方都可以找到这种模式。

1.5K30

IOS-swift5.1快速入门之旅

快速之旅 传统表明,新语言中第一个程序应在屏幕上打印“Hello,world!”字样。在Swift,这可以在一行完成: print("Hello, world!")...添加一个参数,以包括今天在问候语特殊午餐。 默认情况下,函数使用其参数名称作为其参数标签。在参数名称前写入自定义参数标签,或者写入_不使用参数标签。...它返回与原始值匹配枚举大小写,或者nil如果没有匹配则返回Rank。...请注意hearts上面引用枚举两种方式:为hearts常量赋值时,枚举大小写Suit.hearts由其全名引用,因为常量没有指定显式类型。...如果枚举具有原始值,则这些值将作为声明一部分确定,这意味着特定枚举大小写每个实例始终具有相同原始值。

2K20

窥探Swift编程之错误处理与异常抛出

二.Swift错误处理 在Objective-C,如果你处理过错误的话,那么你将会对NSError很熟悉。在Swift,如果你要定义你自己错误类型,你只需要实现ErrorType协议即可。...声明完错误类型后,就可以在处理错误抛出异常时使用自定义错误类型了。下方将会一步步带你走完Swift错误处理路程。 1.使用枚举创建错误类型 (1).遵循ErrorType协议,自定义错误类型。...下方定义了一个错误类型枚举,该枚举遵循了ErrorType协议,在接下来代码我们将会使用这个MyCustomErrorType枚举,错误枚举实现如下所示: 1 //定义错误类型 2 enum MyCustomErrorType...2.使用结构体为错误处理添加Reason 在上面的内容,使用枚举遵循ErrorType协议方式定义特定错误类型。接下来我们将使用结构体来遵循ErrorType协议,为错误类型添加错误原因。...为了观察确切文件名,我们需要在确切Swift源文件抛出上述异常。在特定Swift源文件,我们会看到下方输出结果。从下方输出日志,我们可以清楚看到文件名是一个详细文件路径。

2.2K50

Swift开发规范

”作为扩展文件名,其中原始类型名及扩展名也使用 UpperCamelCase 风格,UIView+Frame.swift; 工程中文件夹或者 Group 统一使用 UpperCamelCase 风格,...一律使用单数形式; 命名中出现缩略词时,缩略词要么全部大写,要么全部小写,以首字母大小写为准,通用缩略词包括 JSON、URL 等;class IDUtil {}、func idToString()...注释符号与注释内容之间有空格 类继承时, 参数名和类型之间等, 冒号前面不加空格, 但后面跟空格 任何运算符前后有空格 表示返回值 -> 两边 参数列表、数组、tuple、字典里逗号后面有一个空格...在代码灵活使用一些地标注释,MARK、FIXME、TODO,当同一文件存在多种类型定义或者多种逻辑时,可以使用Mark进行分组注释 尽量将注释另起一行,而不是放在代码后 其他 不要使用魔法值...我们通过配置文件可以控制启用或者关闭相应规则,具体使用规则参照对应仓库 REAMME.md 文件。 相关规范 Swift 官方 API 设计指南 Google 发布 Swift 编码规范

1.5K10

【读书笔记】The Swift Programming Language (Swift 4.0.3)

Enumerations * 递归定义枚举,就是一个演示函数式编程绝佳示例. * swift 枚举,变成了一,可以有效承载数据和算法描述性数据结构. * swift enumeration...Methods * 结构体实例,方法是否能够修改属性,也受实例本身可变性影响. * 结构体或枚举等值类型,允许在实例方法内,直接给 self 赋值,完整替换. * 枚举类型相关操作,都可以封装在枚举类型自身..., AP&BP&CP. * protocol 可以在 extension 定义自己方法,任意遵循此协议类型实例都可以调用此协议自己方法实现. --> 可以在 extension 实现协议规定属性或方法默认实现...-->可以用 extension-where来指定,仅在特定条件下,才有效protocal自有协议方法....Access Control * 默认访问级别是 internal,可以在定义模块内各个源文件之间自由使用. * fileprivate 和 private 并存,是因为swift中允许类型嵌套定义

1.5K100

15.Swift学习之枚举

枚举介绍 概念介绍 枚举定义了一个通用类型一组相关值,可以在代码以一个安全方式来使用这些值 Swift枚举是一等类型, 它可以像类和结构体一样增加属性和方法 在 C/OC 语言中枚举指定相关名称为一组整型值...,而Swift 枚举更加灵活,不必给每一个枚举成员提供一个值,Swift 枚举可以提供值类型有:字符串,字符,整型值,浮点值等 Swift 枚举可以包含方法 枚举类型语法 使用enum...Method.Mul: print("除法") case Method.Div: print("乘法") default: print("都不是") } 枚举定义...定义方式一 case关键词表明新一行成员值将被定义 不像 C 和 Objective-C 一样,Swift 枚举成员在被创建时不会被赋予一个默认整数值 下面的例子,North,South,...C/OC枚举本质就是整数,所以C/OC枚举是有原始值,默认是从0开始,而Swift枚举默认是没有原始值, 但是可以在定义时告诉系统让枚举有原始值 注意: 原始值区分大小写 返回是一个可选值

53230

Swift开发规范-修订版

二、定义、修饰规约 【强制】不要使用魔法值(即未经定义常量); 正例: let maxDisplayCount = 5 if index == maxDisplayCount {...注释符号与注释内容之间有空格; 类继承,参数名和类型之间等,冒号前面不加空格,但后面跟空格; 任何运算符前后有空格; 表示返回值 -> 两边; 参数列表、数组、元祖、字典里逗号后面有一个空格; 【...包含所有情况,可不加default,遍历枚举类型时 default: break } } } 四、简略规约 【强制】Swift 会被结构体按照自身成员自动生成一个非...【推荐】在代码灵活使用一些地标注释,MARK、FIXME、TODO,当同一文件存在多种类型定义或者多种逻辑时,可以使用Mark进行分组注释,方便通过Xcode顶部面包屑进行切换; 代码示例: /...实现每个协议时,尽量在单独 extension 里来实现; 【推荐】优先创建函数而不是自定义操作符; 【推荐】尽可能少使用全局命名空间,如常量、变量、方法等; 【推荐】赋值数组、字典时每个元素分别占用一行时

1.7K50

Swift 类和结构体

因此请使用UpperCamelCase这种方式来命名(SomeClass和SomeStructure等),以便符合标准 Swift 类型大写命名风格(String,Int和Bool)。...在上面的示例我们还定义了一个名为VideoMode类,用来描述一个视频显示器特定模式。这个类包含了四个变量存储属性。...在 Swift ,所有的结构体和枚举类型都是值类型。这意味着它们实例,以及实例中所包含任何值类型属性,在代码传递时候都会被复制。...Swift 这些引用与其它常量或变量定义方式相同。 类和结构体选择 在你代码,你可以使用类和结构体来定义定义数据类型。 然而,结构体实例总是通过值传递,类实例总是通过引用传递。...字符串、数组、和字典类型赋值与复制行为 Swift ,许多基本类型,诸如String,Array和Dictionary类型均以结构体形式实现。

1.2K40

窥探Swift之函数与闭包应用实例

一.Swift函数 1. 函数定义与使用 在介绍Swift函数之前,我想用Objective-C一个简单加法函数来作为引子,然后类比着实现一下Swift相同功能函数。...,接着要定义个一个枚举枚举每种函数类型,下面定义这个枚举在选择函数时会用到,枚举定义如下: 1 //定义两种计算枚举类型 2 enum CountType:Int { 3 case DiffCount...说白了,就是定义个函数来通过枚举值返回这个枚举值所对应函数类型。有时候说多了容易犯迷糊,就直接上代码得了。下方函数功能就是根据传进来枚举值来返回相应函数类型。...内容也不麻烦,就是除了关联控件和事件外,还定义了一个闭包类型(函数类型),然后使用这个特定函数类型声明了一个此函数类型对应变量。...而在数组Filter用来过滤数组数据,并且返回新数组,新数组存放就是符合条件数据。

1.9K50

Swift变量 常量

变量声明 变量声明意思是告诉编译器在内存哪个位置上为变量创建多大存储空间。...Swift 是一个区分大小写语言,所以字母大写与小写是不一样。 变量名也可以使用简单 Unicode 字符,如下: var _var = "Hello, Swift!"...在字符串可以使用括号与反斜线来插入变量,如下: var name = "百度" var site = "http://www.baidu.com" print("\(name)官网地址为:\(site...常量可以是任何数据类型:整型常量,浮点型常量,字符常量或字符串常量。同样也有枚举类型常量: 常量类似于变量,区别在于常量值一旦设定就不能改变,而变量值可以随意更改。...需要注意是常量定义时必须初始值: let constA = 42 print(constA) let constB:Float = 3.14159 print(constB) 常量命名和输出和变量一样

42820

swift4.0语法杂记(精简版)

1、定义数组 用let定义出来数组就是不可变 //定义不可变数组 let array = ["爱丽丝","小红帽","白雪公主"] 使用var来定义可变数组。...array类型还提供一个可以创建特定大小并且所有数据都被默认构造方法。...十七、枚举 1、定义swift枚举使用是由enum关键字来创建枚举枚举所有成员都放在一对大括号里面。它为一组相关定义一个共同类型。使用case关键字来定义一个新枚举成员值。...enum Plant { case mercury,earth,mars } 每个枚举定义了一个新类型,就像swift其他类型一样。...Swiftprotocol不仅能定义方法还能定义属性,配合extension扩展使用还能提供一些方法默认实现,而且不仅类可以遵循协议,现在枚举和结构体也能遵循协议了。

15.1K90

Swift基础 集合类型

SwiftArray类型还提供了一个初始化器,用于创建特定大小数组,其所有值都设置为相同默认值。...对于数组每个项目,enumerated()方法返回由整数和项组成元组。整数从零开始,每个项目数一个;如果您在整个数组枚举,这些整数与项目的索引匹配。...Swift所有基本类型(String、Int、Double和Bool)默认都是可散列,并且可以用作设置值类型或字典键类型。默认情况下,没有关联值枚举案例值(枚举中所述)也是可散列。...SwiftSet类型没有定义顺序。要按特定顺序迭代集合值,请使用sorted()方法,该方法将集合元素作为使用<运算符排序数组返回。...当您需要根据它们标识符查找值时,您可以使用字典,就像使用现实世界字典来查找特定单词定义一样。

9000
领券