Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Tomohiro Kumagai
3,463 views
Swift の可変値と不変値 #cocoa_kansai
Technology
◦
Read more
17
Save
Share
Embed
Embed presentation
Download
Downloaded 17 times
1
/ 80
2
/ 80
3
/ 80
4
/ 80
5
/ 80
6
/ 80
7
/ 80
8
/ 80
9
/ 80
10
/ 80
11
/ 80
12
/ 80
13
/ 80
14
/ 80
15
/ 80
16
/ 80
17
/ 80
18
/ 80
19
/ 80
20
/ 80
21
/ 80
22
/ 80
23
/ 80
24
/ 80
25
/ 80
26
/ 80
27
/ 80
28
/ 80
29
/ 80
30
/ 80
31
/ 80
32
/ 80
33
/ 80
34
/ 80
35
/ 80
36
/ 80
37
/ 80
38
/ 80
39
/ 80
40
/ 80
41
/ 80
42
/ 80
43
/ 80
44
/ 80
45
/ 80
46
/ 80
47
/ 80
48
/ 80
49
/ 80
50
/ 80
51
/ 80
52
/ 80
53
/ 80
54
/ 80
55
/ 80
56
/ 80
57
/ 80
58
/ 80
59
/ 80
60
/ 80
61
/ 80
62
/ 80
63
/ 80
64
/ 80
65
/ 80
66
/ 80
67
/ 80
68
/ 80
69
/ 80
70
/ 80
71
/ 80
72
/ 80
73
/ 80
74
/ 80
75
/ 80
76
/ 80
77
/ 80
78
/ 80
79
/ 80
80
/ 80
More Related Content
PDF
可変値変数 var を極力避けることを模索するための事前知識 #cswift
by
Tomohiro Kumagai
PDF
Swift を振り返ってみよう #cswift
by
Tomohiro Kumagai
PDF
Swift 構造体の時代 #yidev
by
Tomohiro Kumagai
PDF
リテラルと型の続きの話 #__swift__
by
Tomohiro Kumagai
PDF
Swift ドキュメントコメント
by
Tomohiro Kumagai
PDF
NSNotification in Swift #cocoa_kansai
by
Tomohiro Kumagai
PDF
リテラルと型の話 #__swift__
by
Tomohiro Kumagai
PDF
Swift 3 その基本ルールを眺める #cswift
by
Tomohiro Kumagai
可変値変数 var を極力避けることを模索するための事前知識 #cswift
by
Tomohiro Kumagai
Swift を振り返ってみよう #cswift
by
Tomohiro Kumagai
Swift 構造体の時代 #yidev
by
Tomohiro Kumagai
リテラルと型の続きの話 #__swift__
by
Tomohiro Kumagai
Swift ドキュメントコメント
by
Tomohiro Kumagai
NSNotification in Swift #cocoa_kansai
by
Tomohiro Kumagai
リテラルと型の話 #__swift__
by
Tomohiro Kumagai
Swift 3 その基本ルールを眺める #cswift
by
Tomohiro Kumagai
What's hot
PDF
プロトコル指向に想う世界観 #__swift__
by
Tomohiro Kumagai
PDF
プロトコル拡張の話? #WWDC21cafe
by
Tomohiro Kumagai
PDF
lazy var の特徴を知る #cocoa_kansai #cswift
by
Tomohiro Kumagai
PDF
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
by
Tomohiro Kumagai
PDF
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
by
Tomohiro Kumagai
PDF
Swift 2.0 で変わったところ「後編」 #cswift
by
Tomohiro Kumagai
PDF
Study Swift
by
Akihiro Urushihara
PDF
Swiftのswitchはとってもパワフル!
by
akatsuki174
PDF
Swift 2.0 大域関数の行方から #swift2symposium
by
Tomohiro Kumagai
PDF
Swift 2.0 で変わったところ「前編」 #cswift
by
Tomohiro Kumagai
PDF
Xcode 6の新機能
by
Shingo Sato
PDF
Swift 2 (& lldb) シンポジウム
by
Yuichi Yoshida
PPTX
Deep dive into oss written in swift
by
Yuki Asai
PDF
OSC2011Tokyo/Fall OpenStack Swift入門
by
irix_jp
PDF
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
by
hecomi
PDF
ジェネリック関数の呼び出され方 #cocoa_kansai
by
Tomohiro Kumagai
PPTX
Swiftからlibuvを呼び出すTIPS
by
jugemjugemjugem
PPTX
final int をFINAL しやがれ!
by
Keiichi Nagaoka
PPTX
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
by
Kazuyoshi Kamitsukasa
PDF
Swift 2.0 の Error Handling #yhios
by
Tomohiro Kumagai
プロトコル指向に想う世界観 #__swift__
by
Tomohiro Kumagai
プロトコル拡張の話? #WWDC21cafe
by
Tomohiro Kumagai
lazy var の特徴を知る #cocoa_kansai #cswift
by
Tomohiro Kumagai
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
by
Tomohiro Kumagai
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
by
Tomohiro Kumagai
Swift 2.0 で変わったところ「後編」 #cswift
by
Tomohiro Kumagai
Study Swift
by
Akihiro Urushihara
Swiftのswitchはとってもパワフル!
by
akatsuki174
Swift 2.0 大域関数の行方から #swift2symposium
by
Tomohiro Kumagai
Swift 2.0 で変わったところ「前編」 #cswift
by
Tomohiro Kumagai
Xcode 6の新機能
by
Shingo Sato
Swift 2 (& lldb) シンポジウム
by
Yuichi Yoshida
Deep dive into oss written in swift
by
Yuki Asai
OSC2011Tokyo/Fall OpenStack Swift入門
by
irix_jp
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
by
hecomi
ジェネリック関数の呼び出され方 #cocoa_kansai
by
Tomohiro Kumagai
Swiftからlibuvを呼び出すTIPS
by
jugemjugemjugem
final int をFINAL しやがれ!
by
Keiichi Nagaoka
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
by
Kazuyoshi Kamitsukasa
Swift 2.0 の Error Handling #yhios
by
Tomohiro Kumagai
Similar to Swift の可変値と不変値 #cocoa_kansai
PDF
MobileProgramming Variable/Constant/Type
by
Yuichiro Takahashi
PDF
できるプログラマーを本気で育てるSwift超入門iosプログラマーへの第一歩
by
technologicarts
PDF
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift
by
Tomohiro Kumagai
PDF
JavaScript 基礎文法のまとめ
by
Yossy Taka
PDF
Swift study vol.03
by
Nagamine Hiromasa
PDF
Swiftの概要をザックリと
by
Keisuke Tanaka
PDF
150420 flash004 変数
by
elephancube
PDF
値付き Enum 入門、そして伝説へ #yhios #cocoa kansai
by
Tomohiro Kumagai
PDF
20141128 iOSチーム勉強会 My Sweet Swift
by
necocen
PDF
Functional Programming in Swift
by
Kaz Yoshikawa
MobileProgramming Variable/Constant/Type
by
Yuichiro Takahashi
できるプログラマーを本気で育てるSwift超入門iosプログラマーへの第一歩
by
technologicarts
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift
by
Tomohiro Kumagai
JavaScript 基礎文法のまとめ
by
Yossy Taka
Swift study vol.03
by
Nagamine Hiromasa
Swiftの概要をザックリと
by
Keisuke Tanaka
150420 flash004 変数
by
elephancube
値付き Enum 入門、そして伝説へ #yhios #cocoa kansai
by
Tomohiro Kumagai
20141128 iOSチーム勉強会 My Sweet Swift
by
necocen
Functional Programming in Swift
by
Kaz Yoshikawa
More from Tomohiro Kumagai
PDF
最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_grow
by
Tomohiro Kumagai
PDF
Swift 所有権 要諦 #ゆるちとせ
by
Tomohiro Kumagai
PDF
_Function Builders in Swift #love_swift
by
Tomohiro Kumagai
PDF
Property Wrappers の特徴を眺める #swiftzoomin
by
Tomohiro Kumagai
PDF
みんなで Swift 復習会 GO! in "Swift Days Fukuoka" – 12nd′ オープニング&資料
by
Tomohiro Kumagai
PDF
みんなで Swift 復習会 GO! in 札幌 – 10th′′
by
Tomohiro Kumagai
PDF
イニシャライザー Part 2.5 #hakataswift
by
Tomohiro Kumagai
PDF
ニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラ
by
Tomohiro Kumagai
PDF
Swift クラスのイニシャライザー #devsap
by
Tomohiro Kumagai
PDF
iOSCon 2019 in London #ioscon #love_swift
by
Tomohiro Kumagai
PDF
Around the 変数 let #love_swift
by
Tomohiro Kumagai
PDF
もくもく執筆会 #技術同人誌再販Night
by
Tomohiro Kumagai
PDF
みんなで Swift 復習会 GO! in 岩手 – 9th′
by
Tomohiro Kumagai
PDF
macOS アプリで Swift Package Manager を使ってみる #love_swift #hakataswift
by
Tomohiro Kumagai
PDF
みんなで Swift 復習会 GO! in 福岡 – 8th′ #minna_de_swift
by
Tomohiro Kumagai
PDF
Getting Started with Attending iOSCon in London 高画質・追記版 #love_swift #ioscon
by
Tomohiro Kumagai
PDF
Getting Started with iOSCon in London #love_swift #ioscon
by
Tomohiro Kumagai
PDF
みんなで Swift 復習会 GO! in 京都 – 6th′
by
Tomohiro Kumagai
PDF
みんなで Swift 復習会 GO! in 福岡 – 5th′
by
Tomohiro Kumagai
PDF
勉強会の東京外開催の気持ち #yuru_bounen2017
by
Tomohiro Kumagai
最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_grow
by
Tomohiro Kumagai
Swift 所有権 要諦 #ゆるちとせ
by
Tomohiro Kumagai
_Function Builders in Swift #love_swift
by
Tomohiro Kumagai
Property Wrappers の特徴を眺める #swiftzoomin
by
Tomohiro Kumagai
みんなで Swift 復習会 GO! in "Swift Days Fukuoka" – 12nd′ オープニング&資料
by
Tomohiro Kumagai
みんなで Swift 復習会 GO! in 札幌 – 10th′′
by
Tomohiro Kumagai
イニシャライザー Part 2.5 #hakataswift
by
Tomohiro Kumagai
ニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラ
by
Tomohiro Kumagai
Swift クラスのイニシャライザー #devsap
by
Tomohiro Kumagai
iOSCon 2019 in London #ioscon #love_swift
by
Tomohiro Kumagai
Around the 変数 let #love_swift
by
Tomohiro Kumagai
もくもく執筆会 #技術同人誌再販Night
by
Tomohiro Kumagai
みんなで Swift 復習会 GO! in 岩手 – 9th′
by
Tomohiro Kumagai
macOS アプリで Swift Package Manager を使ってみる #love_swift #hakataswift
by
Tomohiro Kumagai
みんなで Swift 復習会 GO! in 福岡 – 8th′ #minna_de_swift
by
Tomohiro Kumagai
Getting Started with Attending iOSCon in London 高画質・追記版 #love_swift #ioscon
by
Tomohiro Kumagai
Getting Started with iOSCon in London #love_swift #ioscon
by
Tomohiro Kumagai
みんなで Swift 復習会 GO! in 京都 – 6th′
by
Tomohiro Kumagai
みんなで Swift 復習会 GO! in 福岡 – 5th′
by
Tomohiro Kumagai
勉強会の東京外開催の気持ち #yuru_bounen2017
by
Tomohiro Kumagai
Recently uploaded
PPTX
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
PDF
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
PDF
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
PDF
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
PDF
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
Swift の可変値と不変値 #cocoa_kansai
1.
EZ-NET 熊谷友宏 http://ez-net.jp/ 2015.02.28 @ 第60回
Cocoa 勉強会関西 Swift カジュアルプログラミング 《基礎》不変値と可変値
2.
熊谷友宏 http://ez-net.jp/ @es_kumagai Xcode 5 徹底解説 IP
Phone 音でダイヤル 音で再配達ゴッド いつもの電卓 for iPhone いつもの電卓 for iPad 音で再配達
3.
熊谷友宏 http://ez-net.jp/ @es_kumagai #yidev 横浜 iPhone 開発者勉強会 開催中
4.
不変値と可変値 Swift にある変数のお話
5.
Swift には 2つの変数 があります
6.
不変値変数 // 値を書き込んだら… let value
= 10 // 変更はできない value = 20 ▶ let で宣言された変数 ▶ 値を書き込めるのは1度だけ Swift
7.
可変値変数 // 値を書き込んで… var value
= 10 // さらに書き換えが可能 value = 20 ▶ var で宣言された変数 ▶ 何度でも書き換え可能 Swift
8.
原則 可能な限り let を使う let
prices = [100.0, 300.0, 200.0] let withTax = { $0 * 1.08 } let pricesWithTax = prices.map(withTax) let sum = pricesWithTax.reduce(0) {$0+$1} Swift ➡ Swift らしい安全なコードになる
9.
おしまい?
10.
今回はもう少し先のお話
11.
目標 ▶ 変数を値と状態で捉える ▶ 変数から
Swift の全容を探る
12.
目標 変数・構造体・クラスを知ると Swift はもっと楽しくなる
13.
不変値と可変値 役割と性質
14.
不変値
15.
役割 ▶ 値を表現する 不変値
16.
値とは ▶ 評価したい式で使うもの ▶ 何かの式を評価したもの 用途 ▶
引数 ▶ 結果 不変値
17.
a = f(x,y,z) 不変値 ▶
引数は使う前に決まる ▶ 結果は決まったら変わらない 評価式と値
18.
もし変わってしまったら? 不変値
19.
りんごは 130 円です じゃあ、3
つください _φ(・_・ 全部で 500 円です! え? りんごっていくらだっけ りんごは 250 円です あれ? そうだメモで確かめよう ほんとだ 250 円って書いてあった
20.
??? ▶ りんご =
130 ▶ 値段メモ.りんご = りんご ▶ 購入数 = 3 ▶ print 金額(りんご,購入数) 500 ▶ print (りんご) 250 ▶ print (値段メモ.りんご) 250
21.
不変値 変更の余地があると ▶ 変更を考慮したコードを記述 渡し手と受け手で意思共有も必要 ▶ 取得値が勝手に変わる可能性 コピーするかの判断が常に必要 煩わされる ▶
そもそも変える必要性がない
22.
値の扱いに優れた変数 不変値変数 let の誕生
23.
特徴 ▶ 設定したら書き変わらない ▶ 常にコピー 利点 ▶
変化に備えた考慮が不要 ▶ コピーするかどうかで悩まない 不変値変数 let
24.
使い方 不変値変数 let
25.
三項演算子 ?: を使いましょう 不変値変数
let 条件で値を変えたい
26.
三項演算子による値の設定 let discountRate = (isBargainDay
? 0.03 : 0.00) Swift
27.
クロージャーを活用しましょう 不変値変数 let 複雑な条件で値を変えたい
28.
クロージャーによる値の設定 let getPrice =
{ () -> Double? in if inStock { return applyRate(basePrice) } else { return nil } } let price = getPrice() Swift
29.
従来通りの即時初期化をオススメ 不変値変数 let Swift 1.2
なら遅延初期化も可能
30.
遅延初期化による値の設定 let price:Double? if inStock
{ price = applyRate(basePrice) } else { price = nil } Swift Swift 1.2 コードを読まないと値の設定場所が分からない…
31.
即時初期化の利点 let basePrice =
150 let discountRate = (isBargainDay ? 0.03 : 0.00) let price = getPrice() Swift ▶ 傍を見れば設定値が分かる ▶ どんな場合も初期化できる、はず
32.
可変値
33.
役割 ▶ 状態を表現する 可変値
34.
状態とは ▶ 時間軸で変化する値 ▶ 今の有り様を表現するもの 用途 ▶
プロパティ ▶ バッファー 可変値
35.
可変値 ▶ 時事刻々と変化する ▶ 状況に応じて調整可能 移動する物の位置 location:
(x,y) カップの容量 capacity: ㎖
36.
可変値 変化する前提があると ▶ 変更を常に意識できる 渡し手と受け手で意思が伝わる ▶ 再取得時には変わっている可能性 コピーが必要 扱い方が定まる ▶
扱いに悩む必要がなくなる
37.
状態の扱いに優れた変数 可変値変数 var の登場
38.
特徴 ▶ 設定後に書き換えられる ▶ 常にコピー 利点 ▶
変化を前提とした扱いが可能 ▶ コピーするかどうかで悩まない 可変値変数 var
39.
2種類の変数の誕生
40.
2種類の変数 ▶ コーディングの方針が定まる ▶ ソースコードの可読性が向上 宣言
内容 用途 let 不変値 値 var 可変値 状態 変数には用途を込められる
41.
2種類の変数が誕生したからには 言語によるサポートがある
42.
変数の言語サポート ▶ 値と状態の相互運用 ▶ 変数に特化したオブジェクト
43.
値と状態の相互運用 変数のコピー
44.
変数はコピーされる ▶ 代入時に内容をコピー ▶ 他からの干渉を防ぐのが目的 コピー後の性質は代入先に依る ▶
可変値に不変値を入れれば変更可 ▶ 元の性質には束縛されない
45.
値と状態の相乗りを実現 変数のコピーで
46.
相互乗り入れのイメージ
47.
この星は移動するよ! 今は (0, 0)
に居るよ 今はどこに居るの? _φ(・_・ 横に20、縦に800、移動して! 移動したよ! 状態を可変値で宣言 今の状態を値にコピーして返却 状態の変更を不変値で指示 受け取った値を不変値にコピー 受け取った値をコピーして状態を更新
48.
今は (20, 800)
に居るよ 今はどこに居るの? _φ(・_・ 移動したよ! 前回より横に60移動したのね! 今は (80, 800) に居るよ 勝手に移動したよ! お、今はどこに居るの? _φ(・_・ 受け取った値を不変値にコピー 受け取った値を不変値にコピー 今の状態を値にコピーして返却 今の状態を値にコピーして返却 受け取った値と以前にコピーした値を比較 なんらかの値で状態を更新
49.
変数に特化したオブジェクト 構造体
50.
おさらい
51.
Swift の変数は2種類 ▶ 決まれば変わらない値 ▶
時事刻々と変化する状態 Objective-C は1種類の変数で工夫 ▶ Immutable クラス ▶ Mutable クラス
52.
Immutable クラス ▶ 初期化後の状態変化を禁止 ▶
不変値に類似 Mutable クラス ▶ 初期化後の状態変化を制限しない ▶ 可変値に類似
53.
Objective-C では クラス設計によって変数を制御 プログラマーの自主性に依存
54.
Swift では 言語仕様が主導権を握る コンパイラによる変数の統制
55.
変数の種類で制御 オブジェクトの性質が格納先で変化
56.
▶ Immutable 扱い 可変値変数 ▶
Mutable 扱い 変数の種類で制御 不変値変数
57.
変数の種類で振る舞いを変える 変数の種類で制御 構造体の登場
58.
▶ 内容を自由に設計できる ▶ 内容は別変数へ代入時にコピー ▶
格納先に応じて振る舞いを制御 目的 構造体 値や状態を表現するオブジェクト 特徴
59.
値や状態で使うオブジェクトは 構造体 原則、構造体で定義 ▶ String ▶ Array ▶
Int
60.
構造体 定義方法
61.
▶ 内容は可変値変数のプロパティで定義 ▶ 構造体を可変値で扱う時のみ変更可 内容の定義 構造体 struct
MyValue { var state:Int = 10 }
62.
▶ mutating な機能のみ内容を変更可能 ▶
mutating な機能は可変値でのみ利用可 ▶ それ以外の機能は常に利用可能 機能の定義 構造体 struct MyValue { mutating func mutableMethod(v:Int) func immutableMethod(v:Int) }
63.
▶ 内容は常に変更可能 ▶ デイニシャライザは存在しない イニシャライザの定義 構造体 struct
MyValue { init() }
64.
▶ 値や状態に特化したオブジェクト ▶ Immutable
な振る舞いが基本 ▶ Mutable な機能は明示定義 状態変化を伴う機能か見て分かる ▶ 使用中でも不変性を振替可能 コピーするので元の値に干渉しない まとめ 構造体
65.
構造体 オブジェクト設計における プログラマーへの負担が激減
66.
クラスは?
67.
▶ 状態を制御する機能の集合体 ▶ 内部に状態を持つ 目的 クラス 状態を制御するオブジェクト 特徴
68.
UI の制御など クラス 制御機能の設計時に使用
69.
▶ 制御する状態は共有 ▶ 代入時は実体がコピーされる 状態はコピーされない ▶
不変値変数は実体の不変性を保証 状態の不変性は保証しない 状態は共有する クラス
70.
クラス 状態 実体 制御 実体 複製 制御
71.
▶ 同じ状態の新しい実体を作成 状態もコピーしたい クラス ▶ Immutable
クラスを自身で設計 状態の不変性を保証したい ▶ コンセプト的に無理(状態制御が目的) 不変値のときに Immutable にしたい 性質を踏まえた扱い方
72.
クラス そもそもクラス? ▶ 実体をコピーするときに 状態もコピーする必要性が生じた ▶ 状態の不変性を保証が必要になった 構造体での実装も検討する そんなときは
73.
クラス 定義方法
74.
▶ 状態は可変値変数のプロパティで定義 ▶ 実体を不変値で扱う時でも変更可 状態の定義 クラス class
MyValue { var state:Int = 10 }
75.
▶ 機能内から状態を変更可能 ▶ 変数の種類を問わず利用可能 機能の定義 クラス class
MyValue { func method(v:Int) }
76.
▶ 状態は常に変更可能 ▶ デイニシャライザでの後始末が可能 イニシャライザの定義 クラス class
MyValue { init() deinit }
77.
▶ 機能に特化したオブジェクト ▶ 状態を共有して制御する 実体を複製して共通の状態を制御可能 ▶
不変性が保証するのは実体だけ 状態操作できないクラスは無価値 まとめ クラス
78.
総括
79.
総括 変数・構造体・クラスを知ると Swift はもっと楽しくなる
80.
総括 2種類の変数 ▶ 不変値変数 let
で値を扱う ▶ 可変値変数 var で状態を扱う 構造体 ▶ 値や状態に特化したオブジェクト ▶ 変数の種類で状態の不変性を制御 クラス ▶ 状態の制御に特化したオブジェクト
Download