質問編集履歴

2

基礎を見直すと解決できます。

2021/04/07 01:09

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -3,145 +3,3 @@
3
3
  ツイートする、もしくはリプライするかを実行したいのですが、ツイートの方しか表示できなくて困っています。
4
4
 
5
5
  3日間考えているのですが、解決できないです。
6
-
7
-
8
-
9
- これがオブジェクトです。
10
-
11
- ```ここに言語を入力
12
-
13
- class Tweet: Object {
14
-
15
-
16
-
17
- @objc dynamic var tweetId: Int = 0
18
-
19
- @objc dynamic var caption: String = ""
20
-
21
- @objc dynamic var timestamp: Date = Date()
22
-
23
- @objc dynamic var retweetCount: Int = 0
24
-
25
- @objc dynamic var likes: Int = 0
26
-
27
- @objc dynamic var didLike = false
28
-
29
- @objc dynamic var replyingTo: String?
30
-
31
- @objc dynamic var isReply: Bool { return replyingTo != nil }
32
-
33
- let users = LinkingObjects(fromType: User.self, property: "tweets")
34
-
35
-
36
-
37
- override static func primaryKey() -> String? {
38
-
39
- return "tweetId"
40
-
41
- }
42
-
43
-
44
-
45
- }
46
-
47
- ```
48
-
49
-
50
-
51
- 下記のコードより、ツイートか、リプライかをそれぞれに応じてボタンの文字が変わるようにしたいです。
52
-
53
- handleReplyTappedでは画面遷移する際にユーザーとenumでの結果を渡しています。
54
-
55
- しかし、UploadTweetConfigurationのcase reply([Tweet])のTweetをJump to definitionをしたら ? が出てきました。
56
-
57
- また、ビルドには成功しているのですが、リプライの結果をArrayにして渡しているのですが、case .replyの場合になってくれません。それになぜクラスを参照して?になるのか分からないです。
58
-
59
-
60
-
61
- もし、ご存知の方がおりましたら、対処方法を教えてくださると助かります。お願いします。
62
-
63
-
64
-
65
- ```ここに言語を入力
66
-
67
- // TweetCell.swift
68
-
69
- var tweets: [Tweet] = [Tweet]() {
70
-
71
- didSet { configure() }
72
-
73
- }
74
-
75
-
76
-
77
- // FeedController.swift
78
-
79
- func handleReplyTapped(_ cell: TweetCell) {
80
-
81
- let tweet = cell.tweets
82
-
83
- let controller = UploadTweetController(user: user, config: .reply(Array(tweet)))
84
-
85
- let nav = UINavigationController(rootViewController: controller)
86
-
87
- nav.modalPresentationStyle = .fullScreen
88
-
89
- present(nav, animated: true, completion: nil)
90
-
91
- }
92
-
93
-
94
-
95
- // UploadTweetViewModel.swift
96
-
97
- enum UploadTweetConfiguration {
98
-
99
- case tweet
100
-
101
- case reply([Tweet])
102
-
103
- }
104
-
105
-
106
-
107
- struct UploadTweetViewModel {
108
-
109
-
110
-
111
- let actionButtonTitle: String
112
-
113
- let placeholderText: String
114
-
115
- var shouldShowReplyLabel: Bool
116
-
117
-
118
-
119
- init(config: UploadTweetConfiguration){
120
-
121
- switch config {
122
-
123
- case .tweet:
124
-
125
- actionButtonTitle = "Tweet"
126
-
127
- placeholderText = "What's happening?"
128
-
129
- shouldShowReplyLabel = false
130
-
131
- case .reply(let tweet):
132
-
133
- actionButtonTitle = "Reply"
134
-
135
- placeholderText = "Tweet your reply"
136
-
137
- shouldShowReplyLabel = true
138
-
139
- }
140
-
141
- }
142
-
143
-
144
-
145
- }
146
-
147
- ```

1

更新しました。

2021/04/07 01:09

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
 
60
60
 
61
- もし、ご存知の方がおりましたら、対処方法を教えてくださると助かります。
61
+ もし、ご存知の方がおりましたら、対処方法を教えてくださると助かります。お願いします。
62
62
 
63
63
 
64
64