回答編集履歴

2

使用法を提示

2020/10/24 10:03

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -13,3 +13,95 @@
13
13
  `ErrorType`列挙型を他のクラスなどで使うならば、
14
14
 
15
15
  グローバルで定義・宣言しましょう。
16
+
17
+
18
+
19
+ # コメントに対して
20
+
21
+ 使用の例示を出します。
22
+
23
+
24
+
25
+ ```swift
26
+
27
+ import Foundation
28
+
29
+ import UIKit
30
+
31
+
32
+
33
+ // ここで定義
34
+
35
+ enum ErrorType {
36
+
37
+ case failedLoadUrl
38
+
39
+ case failedFetchAPI
40
+
41
+
42
+
43
+ func title() -> String {
44
+
45
+ switch self {
46
+
47
+ case .failedLoadUrl:
48
+
49
+ return "Webページの取得に失敗しました"
50
+
51
+ case .failedFetchAPI:
52
+
53
+ return "タイトルの取得に失敗しました"
54
+
55
+ }
56
+
57
+ }
58
+
59
+
60
+
61
+ func message() -> String {
62
+
63
+ switch self {
64
+
65
+ case .failedLoadUrl:
66
+
67
+ return "もう一度やり直してください"
68
+
69
+ case .failedFetchAPI:
70
+
71
+ return "アプリを再起動し、もう一度やり直してください"
72
+
73
+ }
74
+
75
+ }
76
+
77
+ }
78
+
79
+
80
+
81
+ class Alert: UIAlertController {
82
+
83
+ // 引数では、ErrorTypeを入れさせる
84
+
85
+ static func show(errorType: ErrorType, viewController: UIViewController) {
86
+
87
+ // 処理では、errorType.title()、errorType.message()で、各文字列を取得できる
88
+
89
+ }
90
+
91
+ }
92
+
93
+ ```
94
+
95
+
96
+
97
+ ```swift
98
+
99
+ class ViewController: UIViewController {
100
+
101
+ // メソッドの引数で、ErroType自体を入れるので、ここではString文字列を入れる必要はない
102
+
103
+ Alert.show(errorType: .failedLoadUrl, viewController: self)
104
+
105
+ }
106
+
107
+ ```

1

語尾を修正

2020/10/24 10:03

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  他のクラスである、
10
10
 
11
- `ViewController`から呼び出すことはできるわけがありません
11
+ `ViewController`から呼び出すことはできるわけがないからです
12
12
 
13
13
  `ErrorType`列挙型を他のクラスなどで使うならば、
14
14