| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
1,315 バイト追加 、 2024年9月12日 (木) 10:53
lazy var プロパティ名 : プロパティ型 = 式
</pre>
 
===KeyPath===
*https://qiita.com/imchino/items/67a987681bca5ad0408b
*「あるデータ型に定義されたプロパティまでの参照(パス)」です。
*キーパス式は、型のプロパティまたは添え字を参照する。
*キー・値監視などの動的プログラミングタスクでは、キーパス式を使用する。
<pre>
\<#type name#>.<#path#>
</pre>
 
==サブスクリプト==
*コレクションへの統一的なアクセス手法
*firstプロパティ
*lastプロパティ
 
====変換====
=====Array -> Set =====
<pre>
1> let ary: [Int] = [3,2,3,2]
ary: [Int] = 4 values {
[0] = 3
[1] = 2
[2] = 3
[3] = 2
}
2> print(Set(ary))
[3, 2]
</pre>
===== Set -> Array =====
<pre>
6> let set: Set<Int> = [3,4,5,6]
set: Set<Int> = 4 values {
[0] = 4
[1] = 6
[2] = 3
[3] = 5
}
7> print(Array(set))
[4, 6, 3, 5]
</pre>
==クロージャ==
*基本
*https://qiita.com/atsuastu_jr/items/e3a6990127d96c39a167
<pre>
{ 引数 in 戻り値を返す式 }
hello,swift!
</pre>
 
===例===
* Message.user.name の重複を取り除き、","で連結して返す
<pre>
func joinAndUniqueUserNames(messages: [Message]) -> String {
var names:Set<String> = []
 
// クロージャ例
messages.forEach({message in names.insert(message.user.name)})
 
// トレイリングクロージャ例
messages.forEach { message in
names.insert(message.user.name)
}
return names.joined(separator: ",")
}
</pre>
 
===属性===
----

案内メニュー