| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Swift学习笔记 -> 正文阅读 |
|
[移动开发]Swift学习笔记 |
基础知识Swift 是一种用于 iOS、macOS、watchOS 和 tvOS 应用程序开发的新编程语言。尽管如此,根据您使用 C 和 Objective-C 进行开发的经验,您将熟悉 Swift 的许多部分。 雨燕提供了自己的所有基本C和Objective-C类型的版本,包括 与 C 一样,Swift 使用变量来存储和通过标识名称引用值。Swift 还广泛使用了无法更改其值的变量。这些被称为常量,并且比 C 中的常量强大得多。当您使用不需要更改的值时,常量在整个 Swift 中使用以使代码更安全、更清晰。 除了熟悉的类型之外,Swift 还引入了 Objective-C 中没有的高级类型,例如元组。元组使您能够创建和传递值的分组。您可以使用元组将函数中的多个值作为单个复合值返回。 Swift 还引入了可选类型,用于处理没有值的情况。选配说要么“有是一个值,它等于X ”或“有没有一个价值可言”。使用可选项类似于 Swift 是一种类型安全的语言,这意味着该语言可以帮助您明确代码可以使用的值的类型。如果您的代码的一部分需要 常量和变量常量和变量将名称(例如 声明常量和变量常量和变量必须在使用前声明。用
这段代码可以读作: “声明一个名为 的新常量 在此示例中,允许的最大登录尝试次数声明为常量,因为最大值永远不会改变。当前登录尝试计数器被声明为一个变量,因为该值必须在每次登录尝试失败后递增。 您可以在一行中声明多个常量或多个变量,用逗号分隔:
笔记 如果代码中存储的值不会更改,请始终使用 类型注释您可以在声明常量或变量时提供类型注释,以明确常量或变量可以存储的值类型。通过在常量或变量名称之后放置一个冒号,然后是一个空格,然后是要使用的类型的名称来编写类型注释。 此示例为名为 的变量提供了类型注释
声明中的冒号表示“……类型……”,因此上面的代码可以理解为: “声明一个 短语“of type
您可以在一行中定义多个相同类型的相关变量,以逗号分隔,并在最终变量名称后使用单个类型注释:
笔记 在实践中很少需要编写类型注释。如果您在定义常量或变量时为其提供初始值,Swift 几乎总能推断出要用于该常量或变量的类型,如类型安全和类型推断中所述。在 命名常量和变量常量和变量名称几乎可以包含任何字符,包括 Unicode 字符:
常量和变量名称不能包含空格字符、数学符号、箭头、专用 Unicode 标量值或线条和方框图字符。它们也不能以数字开头,尽管数字可能包含在名称的其他地方。 一旦声明了某个类型的常量或变量,就不能再用相同的名称声明它,也不能将其更改为存储不同类型的值。你也不能把一个常数变成一个变量或一个变量变成一个常数。 笔记 如果您需要为常量或变量赋予与 Swift 保留关键字相同的名称,请```在将其用作名称时用反引号 ( )将关键字括起来。但是,除非您绝对别无选择,否则请避免使用关键字作为名称。 您可以将现有变量的值更改为兼容类型的另一个值。在本例中, 的值
与变量不同,常量的值在设置后不能更改。尝试这样做会在编译代码时报告为错误:
打印常量和变量您可以使用以下
该 Swift 使用字符串插值将常量或变量的名称作为占位符包含在较长的字符串中,并提示 Swift 将其替换为该常量或变量的当前值。将名称括在括号中,并在左括号前用反斜杠将其转义:
笔记 你可以用串插中使用的所有选项中描述字符串插值。 注释使用注释在代码中包含不可执行的文本,作为对自己的注释或提醒。编译代码时,Swift 编译器会忽略注释。 Swift 中的注释与 C 中的注释非常相似。单行注释以两个正斜杠 (
多行注释以正斜杠开头,后跟星号 (
与 C 中的多行注释不同,Swift 中的多行注释可以嵌套在其他多行注释中。您可以通过启动一个多行注释块然后在第一个块中启动第二个多行注释来编写嵌套注释。然后关闭第二个块,然后关闭第一个块:
嵌套的多行注释使您能够快速轻松地注释掉大块代码,即使代码已经包含多行注释。 分号与许多其他语言不同,Swift 不要求您
整数整数是没有小数部分的整数,例如 Swift 提供 8、16、32 和 64 位形式的有符号和无符号整数。这些整数遵循类似于 C 的命名约定,其中 8 位无符号整数的类型为 整数边界您可以使用其
这些属性的值是适当大小的数字类型(例如 整数在大多数情况下,您不需要选择特定大小的整数来在您的代码中使用。Swift 提供了一个额外的整数类型,
除非您需要使用特定大小的整数,否则请始终 用户界面Swift 还提供了一个无符号整数类型,
笔记
浮点数字浮点数是具有小数部分的数字,例如 浮点类型可以表示比整数类型更广泛的值,并且可以存储比
笔记
类型安全和类型推断Swift 是一种类型安全的语言。类型安全语言鼓励您明确代码可以使用的值类型。如果您的代码的一部分需要 因为 Swift 是类型安全的,所以它在编译代码时会执行类型检查,并将任何不匹配的类型标记为错误。这使您能够在开发过程中尽早发现和修复错误。 类型检查可帮助您在处理不同类型的值时避免错误。但是,这并不意味着您必须指定您声明的每个常量和变量的类型。如果你没有指定你需要的值的类型,Swift 会使用类型推断来计算出合适的类型。类型推断使编译器能够在编译您的代码时自动推断特定表达式的类型,只需检查您提供的值即可。 由于类型推断,Swift 需要的类型声明比 C 或 Objective-C 等语言少得多。常量和变量仍然是显式类型的,但是指定它们的类型的大部分工作已经为您完成了。 当您使用初始值声明常量或变量时,类型推断特别有用。这通常是通过在您声明常量或变量时为常量或变量分配一个文字值(或文字)来完成的。(文字值是直接出现在源代码中的值,如下面的 例如,如果你将一个字面值 of 赋给一个
同样,如果您没有为浮点文字指定类型,Swift 会推断您要创建一个
Swift在推断浮点数的类型时总是选择 如果在表达式中组合整数和浮点文字,
的字面值 数字文字整数文字可以写成:
所有这些整数文字的十进制值为
浮点文字可以是十进制(没有前缀)或十六进制(有 对于指数为 的十进制数
对于指数为 的十六进制数
所有这些浮点文字的十进制值为
数字文字可以包含额外的格式以使其更易于阅读。整数和浮点数都可以用额外的零填充,并且可以包含下划线以提高可读性。两种格式都不会影响文字的基础值:
数字类型转换
仅当手头的任务特别需要其他整数类型时才使用其他整数类型,因为来自外部源的明确大小的数据,或者为了性能、内存使用或其他必要的优化。在这些情况下使用显式大小的类型有助于捕获任何意外的值溢出并隐式记录正在使用的数据的性质。 整数转换可以存储在整数常量或变量中的数字范围因每种数字类型而异。一个
由于每种数字类型可以存储不同范围的值,因此您必须根据具体情况选择数字类型转换。这种选择加入的方法可以防止隐藏的转换错误,并有助于在您的代码中明确类型转换意图。 要将一种特定的数字类型转换为另一种,请使用现有值初始化所需类型的新数字。在下面的示例中,常量
因为加法的两边现在都是 type
整数和浮点转换整数和浮点数值类型之间的转换必须明确:
在这里,常量的值 浮点到整数的转换也必须明确。整数类型可以用 a
当以这种方式初始化一个新的整数值时,浮点值总是被截断。这意味着 笔记 数字常量和变量的组合规则与数字文字的规则不同。文字值 类型别名类型别名定义现有类型的替代名称。您可以使用 当您想通过上下文更合适的名称引用现有类型时,类型别名很有用,例如处理来自外部源的特定大小的数据时:
一旦定义了类型别名,就可以在任何可能使用原始名称的地方使用别名:
此处, 布尔值Swift 有一个基本的布尔类型,称为
该类型的 当您使用条件语句时,布尔值特别有用,例如
控制流 Swift 的类型安全性防止非布尔值被替换为
但是,下面的替代示例是有效的:
与 Swift 中的其他类型安全示例一样,这种方法避免了意外错误并确保特定代码段的意图始终清晰。 元组元组将多个值分组为一个复合值。元组中的值可以是任何类型,并且不必彼此具有相同的类型。 在本例中,是一个描述HTTP 状态代码的元组。HTTP 状态代码是在您请求网页时由 Web 服务器返回的特殊值。如果您请求的网页不存在,则返回状态代码。
的元组基团一起的和,得到的HTTP状态代码两个独立的值:一个数字和一个人类可读的描述。它可以被描述为“类型的元组”。 您可以从任何类型的排列中创建元组,并且它们可以包含任意数量的不同类型。没有什么可以阻止您拥有类型为、 或的元组,或者实际上是您需要的任何其他排列。 您可以将元组的内容分解为单独的常量或变量,然后您可以像往常一样访问它们:
如果您只需要元组的某些值,请
或者,使用从零开始的索引号访问元组中的各个元素值:
您可以在定义元组时命名元组中的各个元素:
如果在元组中命名元素,则可以使用元素名称访问这些元素的值:
元组作为函数的返回值特别有用。尝试检索网页的函数可能会返回元组类型来描述页面检索的成功或失败。通过返回一个具有两个不同值的元组,每个值都是不同的类型,与只能返回单一类型的单个值相比,该函数提供了更多关于其结果的有用信息。有关更多信息,请参阅具有多个返回值的函数。 笔记 元组对于简单的相关值组很有用。它们不适合创建复杂的数据结构。如果您的数据结构可能更复杂,请将其建模为类或结构,而不是元组。有关更多信息,请参阅结构和类。 -------持续更新--------- |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:22:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |