teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

サンプルコード

2019/10/01 06:16

投稿

takabosoft
takabosoft

スコア8356

answer CHANGED
@@ -11,4 +11,51 @@
11
11
  }
12
12
  ```
13
13
 
14
- こうした関数をもう一個実装してやれば、期待した動きになると思います。
14
+ こうした関数をもう一個実装してやれば、期待した動きになると思います。
15
+
16
+ ----
17
+ 追記:
18
+ サンプルコード作っておきました。
19
+
20
+ ```swift
21
+ import UIKit
22
+
23
+ let cell01_data: [String: Any] = [
24
+ "Int": 12345,
25
+ "String": "Hogehoge",
26
+ "Date": Date(),
27
+ ]
28
+
29
+ func changeString(data: String) -> String {
30
+ return data
31
+ }
32
+
33
+ func changeString(data: Int) -> String {
34
+ return String(data)
35
+ }
36
+
37
+ func changeString(data: Date) -> String {
38
+ let f = DateFormatter() //日付フォーマット
39
+ f.dateFormat = "yyyy"
40
+ return f.string(from: data)
41
+ }
42
+
43
+ func changeString(data: Any?) -> String {
44
+ switch data {
45
+ case let intValue as Int:
46
+ return changeString(data: intValue)
47
+ case let stringValue as String:
48
+ return changeString(data: stringValue)
49
+ case let dateValue as Date:
50
+ return changeString(data: dateValue)
51
+ default:
52
+ return "?"
53
+ }
54
+ }
55
+
56
+ print(changeString(data: cell01_data["Int"])) // 12345
57
+ print(changeString(data: cell01_data["String"])) // Hogehoge
58
+ print(changeString(data: cell01_data["Date"])) // 2019
59
+ ```
60
+
61
+ 他にも書き方はあると思いますが、参考になれば。