Swiftのタプル

この記事では、タプルとは何か、いつ、どこで使用されるかについて説明します。幸せな読書!!!

写真提供者:Stocksnap.io

タプルは、1つとして表されるさまざまな値のグループです。Appleによれば、タプルタイプは、括弧で囲まれた0個以上のタイプのコンマ区切りのリストです。構造体のミニチュアバージョンです。

例を考えてみましょう。ジョン・スミスがのようなタプルとして宣言できるという名前("John", "Smith")。人の姓名を保持します。dot(.)表記とそれに続く値のインデックスを使用して内部値にアクセスできます。

var person = ("John", "Smith")

var firstName = person.0 // John
var lastName = person.1 // Smith

()空のタプルです–要素はありません。Voidタイプも表します。

タプルはハッシュ可能なプロトコルに準拠していません。したがって、辞書キーとして使用することはできません。

タプルの作成:

他の変数または定数と同じようにタプルを宣言できます。初期化するには、別のタプルまたはタプルリテラルが必要になります。タプルリテラルは、括弧のペアの間にコンマで区切られた値のリストです。変数として宣言されている場合は、ドット表記を使用してタプルから値を変更できます。

var point = (0, 0)

point.0 = 10
point.1 = 15

point // (10, 15)

var origin = (x: 0, y: 0)

var point = origin
point.x = 3
point.y = 5

print(origin) // (0, 0)
print(point) // (3, 5)

タプルから要素に名前を付け、それらの名前を使用してそれらを参照できます。要素名は、その後にコロン(:)が続く識別子です。

var person = (firstName: "John", lastName: "Smith")
var firstName = person.firstName // John
var lastName = person.lastName // Smith

タプルを使用して、1行で複数の変数を初期化できます。

var (a, b, c) = (1, 2, 3)

結果タイプをタプルに設定すると、関数から複数の値を返すことができます。

タプルは参照ではなく値で渡されることに注意してください。

上記のコードでは、コードを読みやすくするために、を使用しtypealiasてタプルの構造を事前定義しました。

キーと値の両方を取得する辞書を反復するためのタプル:

for (key,value) in myDictionary {
println("My key is \(key) and it has a value of \(value)")
}

注:_「私はその値を気にしない」という意味です

for (key,_) in myDictionary {
println("My key is \(key)")
}


let http404Error = (404, "Not Found")
// http404Error is of type (Int, String), and equals (404, "Not Found")

let (statusCode, statusMessage) = http404Error
print("The status code is \(statusCode)")
// Prints "The status code is 404"
print("The status message is \(statusMessage)")
// Prints "The status message is Not Found"

let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")
// Prints "The status code is 404"

print("The status code is \(http404Error.0)")
// Prints "The status code is 404"
print("The status message is \(http404Error.1)")
// Prints "The status message is Not Found"

let http200Status = (statusCode: 200, description: "OK")

別のタプルを含むタプルを作成して、それを混ぜ合わせます。

let bar: (Int, (Bool, String)) = (1, (false, "Hello"))
print(bar.0) // print: “1”
print(bar.1.0) // print: “false”
print(bar.1.1) // print: “Hello”

var a = 5 
var b = 4 
(b, a) = (a, b)

タプルを使用するのに最適な場所は、複数の型を返すことができる関数が必要な場合です。あなたがObjective-C開発者なら、配列や辞書を使わない限り、この概念は不可能に聞こえます。以前は、NSArrayまたはを返すことでこのような問題を克服する必要がありましたNSDictionary。

出典:中程度の記事、Weheartswift。

それでおしまい。!

楽しい!!

この投稿を読んで楽しんだら、他の人がそれを見つけることができるように、いくつかの拍手を共有して与えてください👏👏👏👏👏!!!!

新鮮な記事については、Mediumで私をフォローできます。また、LinkedInで私とつながりましょう。

コメント、質問、または推奨事項がある場合は、下のコメントセクションに投稿してください。

提案された投稿

「その小さな島がすべてを変える」

ライダーのエクスペリエンスを向上させるために Lyft ライブ アクティビティをどのように設計したか

「その小さな島がすべてを変える」

ライドシェアの変革者 Lyft で行っているすべての業務の中で、乗客とドライバー間の送迎の振り付けは、最も複雑かつ重要な作業の 1 つです。この振り付けを成功させるには、Lyft が多くのことをうまくやっているかどうかにかかっていますが、単にライダーをスピードに乗せ続けることが不可欠です。

アプリのライフサイクル

アプリのライフサイクル

: アプリ起動からシャットダウンまでのサイクル: メモリやデータの管理による使いやすさ ⬆️ セキュリティ処理が可能 UIApplication、AppDelegate 状況: UIApplication オブジェクトから送信されたメッセージを AppDelegate オブジェクトが受信し、それぞれを実行する関数を定義 Not Running: アプリが実行されていない状態Inactive:アプリが実行されているがイベントが受信されていない状態Active: アプリが実行されており、イベントが発生している状態Background: アプリがバックグラウンドにあるがコードが実行されている状態Suspened: アプリが実行されている状態AppDelegate.swift ファイルでデリゲート関数となるコードをバックグラウンドで実行していません。 SceneDelegate iOS 13 以降でサポートされるマルチシーン機能にうまく対応するため、AppDelegate / SceneDelegate AppDelegate 1.

関連記事

「マリアナ海溝の公開: 深淵の恐るべき隠された真実を明らかにする」

「マリアナ海溝の公開: 深淵の恐るべき隠された真実を明らかにする」

はじめに:勇敢な読者の皆さん、地球の最も暗い深みへ私たちを導く旅へようこそ。このブログでは、マリアナ海溝の謎に満ちた世界を掘り下げ、その隠された秘密を明らかにし、その表面の下にある骨も凍るような真実を明らかにします。

ジョーダン・ニーリー殺害と「愛国的」人種差別の問題

米国は、人種差別的な行動と善良な米国人であることを同一視しないという重要な一歩を踏み出すことができるだろうか?

ジョーダン・ニーリー殺害と「愛国的」人種差別の問題

[警告: このエッセイには、ジョーダン ニーリー殺害の犯人を賞賛する人々のスクリーンショットが含まれています。] 法執行当局はついに、そしておそらくはしぶしぶではありましたが、ジョーダン ニーリーを死ぬまで首を絞めた男、ダニエル ペニーをその殺人罪で起訴しました。

お子様向けの初めてのハイになる本

お子様向けの初めてのハイになる本

(警告 - これは風刺であり、大喜びで破壊的な意図があります - 絶対に子供向けではありません) あなたは、お母さんとお父さんがキッチンに隠れて臭いタバコを吸っているのを見たことがあるでしょう。彼らはあなたに言います。

仕事週間で学ぶことはあなたが思っている以上に重要です

仕事週間で学ぶことはあなたが思っている以上に重要です

私たちは、自分にとって良いとわかっていることを実行するのに苦労していることによく気づきます。大切な人に愛していると伝えることから、海賊のように話すことを忘れないことまで、すでにそうしたことを行っているため、1日、1週間、または1か月のイベントは必要ないと主張する人が常にいます。