Как использовать кортежи в Swift? | Как управлять несколькими типами значений в одной переменной?
Начало работы с кортежами
В Swift разработка кортежей очень важна. В одном объекте легко представить несколько типов представления значений. есть два типа типов: именованные типы и составные типы.
Изначально я не знал, как управлять несколькими типами значений в одной переменной? Затем у меня есть кортежи и все такое
Создайте свой первый кортеж -
Это постоянная переменная, содержащая несколько типов значений String и Integer.
let product = (iphone: “X”, price: 1000)
Доступ к этим значениям -
Есть два способа доступа -
- Доступ как
Array
по порядковому номеру
- Доступ с меткой имен или значений
Если вы не укажете метку или имя кортежа (простой)
let ranks = (1, 33)
в этом случае мы можем получить доступ через номера индекса -
ranks.0 // 1 ranks.1 // 33
Можно ли изменить значение кортежа? 🤔
Только нам нужно сделать тип от let
до var
Давайте посмотрим, как с этим бороться -
var product = (iphone: "X", price: 1000) print(product) //(iphone: "X", price: 1000) //current value product.price = 1200 //Change value print(product) //(iphone: "X", price: 1200) // updated value
Расширенные кортежи
Давайте создадим кортежи с несколькими типами значений, например Array
, Dictionary
, String
, Int
, Bool
let dataProviders = (["name": "Joy"], ["John", "Kelly"], "Joy", 1000, false) //Output dataProviders.0 // ["name": "Joy"] dataProviders.1 // ["John", "Kelly"] dataProviders.2 // "Joy" dataProviders.3 // 1000 dataProviders.4 // false
Давайте попробуем другой способ -
let dataProvider = (dic: ["name": "Joy"], array : ["John", "Kelly"], name: "Joy", number: 1000, status: false) //Output dataProvider.dic // ["name": "Joy"] dataProvider.array // ["John", "Kelly"] dataProvider.name // "Joy" dataProvider.number // 1000 dataProvider.status // false
Кортежи определяются с конкретными типами -
var values: (dic:[String: Any], array: [String], name: String, number: Int) = (dic: ["name": "Joy"], array : ["John", "Kelly"], name: "Joy", number: 10)
получить вывод для этого кортежа:
values.dic // ["name": "Joy"] values.array // ["John", "Kelly"] values.name // "Joy" values.number // 1000
Давай попробуем с typealias
typealias Mountain = (dic:[String: Any], array: [String], name: String, number: Int) var values: Mountain = (dic: ["name": "Joy"], array : ["John", "Kelly"], name: "Joy", number: 10) //Output - values.dic // ["name": "Joy"] values.array // ["John", "Kelly"] values.name // "Joy" values.number // 1000
Мы можем использовать это с функциями -
func getPhoneInfo() -> (name: String, price: Float){ return (name: "iPhone X", price: 1000) } //Output getPhoneInfo().name // "iPhone X"
с
typealias
func getPersonInfo() -> Mountain{ return (dic: ["name": "Joy"], array : ["John", "Kelly"], name: "Joy", number: 10) } //Output getPersonInfo().array // ["John", "Kelly"]
Заключение
Наконец, вместо объявления нескольких переменных мы стали лучше использовать кортежи в программе Swift. С его помощью мы можем создать более понятный и читаемый код. В этом разделе мы рассмотрели от базовых до расширенных кортежей. Довольно легко функционировать, объявление определенного типа с изменяемыми и неизменяемыми кортежами. Кроме того, в этой теме я рассмотрел значения create
, read
и modify
кортежей. 🚀🎉
Мы создали очень простые кортежи с
String
&Int
, а затем создали несколько расширенных кортежей сArray
,Dictionary
,String
,Int
,Bool
.
Спасибо за чтение 🙌🏼
Если у вас есть вопросы по этому руководству? | Если вы думаете, что можете сделать более простой способ или немного больше дополнительных вещей с этим материалом, пожалуйста, дайте мне знать вопросы, отзывы или комментарии в Twitter