質問編集履歴

5

2018/02/08 08:54

投稿

sam3457
sam3457

スコア52

test CHANGED
@@ -1 +1 @@
1
- Firebaseでチャットアプリを作る
1
+ Type 'Any' has no subscript members Firebaseでチャットアプリを作る
test CHANGED
@@ -46,6 +46,8 @@
46
46
 
47
47
 
48
48
 
49
+ 「Type 'Any' has no subscript members」と、
50
+
49
51
  画像のエラーをググってこちらを参考に修正しようとしました。 https://qiita.com/___dera/items/7313f2fc705d846c88f2 
50
52
 
51
53
  http://swift-salaryman.com/typeanyhasnosubscript.php

4

a

2018/02/08 08:54

投稿

sam3457
sam3457

スコア52

test CHANGED
File without changes
test CHANGED
@@ -4,55 +4,9 @@
4
4
 
5
5
 
6
6
 
7
- ``` swift
7
+ ```swift
8
-
9
- import UIKit
10
-
11
- import Firebase
12
-
13
- import JSQMessagesViewController
14
8
 
15
9
 
16
-
17
- class ViewController: JSQMessagesViewController {
18
-
19
-
20
-
21
- var messages: [JSQMessage]?
22
-
23
-
24
-
25
- var incomingBubble: JSQMessagesBubbleImage!
26
-
27
- var outgoingBubble: JSQMessagesBubbleImage!
28
-
29
- var incomingAvatar: JSQMessagesAvatarImage!
30
-
31
- var outgoingAvatar: JSQMessagesAvatarImage!
32
-
33
-
34
-
35
-
36
-
37
- override func viewDidLoad() {
38
-
39
- super.viewDidLoad()
40
-
41
-
42
-
43
- setupFirebase()
44
-
45
- setupChatUI()
46
-
47
- self.messages = []
48
-
49
-
50
-
51
-
52
-
53
- }
54
-
55
-
56
10
 
57
11
  func setupFirebase() {
58
12
 
@@ -82,152 +36,6 @@
82
36
 
83
37
  }
84
38
 
85
-
86
-
87
- func setupChatUI() {
88
-
89
-
90
-
91
- inputToolbar!.contentView!.leftBarButtonItem = nil
92
-
93
- automaticallyScrollsToMostRecentMessage = true
94
-
95
-
96
-
97
- self.senderId = "user1"
98
-
99
-
100
-
101
- let bubbleFactory = JSQMessagesBubbleImageFactory()
102
-
103
- self.incomingBubble = bubbleFactory?.incomingMessagesBubbleImage(with: UIColor.jsq_messageBubbleLightGray())
104
-
105
- self.outgoingBubble = bubbleFactory?.outgoingMessagesBubbleImage(with: UIColor.jsq_messageBubbleGreen())
106
-
107
-
108
-
109
- self.incomingAvatar = JSQMessagesAvatarImageFactory.avatarImage(with: UIImage(named: "icon_default")!, diameter: 64)
110
-
111
- self.outgoingAvatar = JSQMessagesAvatarImageFactory.avatarImage(with: UIImage(named: "icon_default")!, diameter: 64)
112
-
113
-
114
-
115
- }
116
-
117
-
118
-
119
- //メッセージの送信
120
-
121
- override func didPressSend(_ button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: Date!) {
122
-
123
-
124
-
125
- self.finishSendingMessage(animated: true)
126
-
127
- sendTextToDB(text: text)
128
-
129
-
130
-
131
- }
132
-
133
-
134
-
135
- //データベースへの送信
136
-
137
- func sendTextToDB(text: String) {
138
-
139
-
140
-
141
- let rootRef = Database.database().reference()
142
-
143
- let post = ["from": senderId, "name": senderDisplayName, "text": text]
144
-
145
- let postRef = rootRef.childByAutoId()
146
-
147
- postRef.setValue(post)
148
-
149
-
150
-
151
- }
152
-
153
-
154
-
155
- //アイテムごとに参照するメッセージデータを返す
156
-
157
- override func collectionView(_ collectionView: JSQMessagesCollectionView!, messageDataForItemAt indexPath: IndexPath!) -> JSQMessageData! {
158
-
159
- return self.messages?[indexPath.item]
160
-
161
- }
162
-
163
-
164
-
165
- //アイテムごとのMessageBubble(背景)を返す
166
-
167
- override func collectionView(_ collectionView: JSQMessagesCollectionView!, messageBubbleImageDataForItemAt indexPath: IndexPath!) -> JSQMessageBubbleImageDataSource! {
168
-
169
-
170
-
171
- let message = self.messages?[indexPath.item]
172
-
173
- if message?.senderId == self.senderId {
174
-
175
- return self.outgoingBubble
176
-
177
- }
178
-
179
- return self.incomingBubble
180
-
181
-
182
-
183
- }
184
-
185
-
186
-
187
- //アイテムごとにアバター画像を返す
188
-
189
- override func collectionView(_ collectionView: JSQMessagesCollectionView!, avatarImageDataForItemAt indexPath: IndexPath!) -> JSQMessageAvatarImageDataSource! {
190
-
191
- let message = self.messages?[indexPath.item]
192
-
193
- if message?.senderId == self.senderId {
194
-
195
- return self.outgoingAvatar
196
-
197
- }
198
-
199
- return self.incomingAvatar
200
-
201
- }
202
-
203
-
204
-
205
- //アイテムの総数を返す
206
-
207
- override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
208
-
209
- return (self.messages?.count)!
210
-
211
- }
212
-
213
-
214
-
215
-
216
-
217
- override func didReceiveMemoryWarning() {
218
-
219
- super.didReceiveMemoryWarning()
220
-
221
- }
222
-
223
-
224
-
225
-
226
-
227
- }
228
-
229
-
230
-
231
39
  ```
232
40
 
233
41
 
@@ -250,6 +58,8 @@
250
58
 
251
59
 
252
60
 
61
+ ```swift
62
+
253
63
  let text = snapshot.value!["text"] as! String
254
64
 
255
65
  let sender = snapshot.value!["from"] as! String
@@ -258,6 +68,10 @@
258
68
 
259
69
 
260
70
 
71
+ ```
72
+
73
+
74
+
261
75
  以上のコードのうちの一行を修正するとなると、どう記述されますでしょうか?
262
76
 
263
77
 

3

a

2018/02/07 14:08

投稿

sam3457
sam3457

スコア52

test CHANGED
File without changes
test CHANGED
@@ -62,11 +62,11 @@
62
62
 
63
63
  rootRef.queryLimited(toLast: 100).observe(DataEventType.childAdded,with: { (snapshot) in
64
64
 
65
- let text = snapshot.value!["text"] as! String ⬅️エラー箇所
65
+ let text = snapshot.value!["text"] as! String ⬅️エラー箇所
66
-
66
+
67
- let sender = snapshot.value!["from"] as! String   ⬅️エラー箇所
67
+ let sender = snapshot.value!["from"] as! String    ⬅️エラー箇所
68
-
68
+
69
- let name = snapshot.value!["name"] as! String    ⬅️エラー箇所
69
+ let name = snapshot.value!["name"] as! String     ⬅️エラー箇所
70
70
 
71
71
  let message = JSQMessage(sender: sender, displayName: name, text: text)
72
72
 

2

a

2018/02/07 14:02

投稿

sam3457
sam3457

スコア52

test CHANGED
File without changes
test CHANGED
@@ -62,11 +62,11 @@
62
62
 
63
63
  rootRef.queryLimited(toLast: 100).observe(DataEventType.childAdded,with: { (snapshot) in
64
64
 
65
- let text = snapshot.value!["text"] as! String
65
+ let text = snapshot.value!["text"] as! String ⬅️エラー箇所
66
-
66
+
67
- let sender = snapshot.value!["from"] as! String
67
+ let sender = snapshot.value!["from"] as! String   ⬅️エラー箇所
68
-
68
+
69
- let name = snapshot.value!["name"] as! String
69
+ let name = snapshot.value!["name"] as! String    ⬅️エラー箇所
70
70
 
71
71
  let message = JSQMessage(sender: sender, displayName: name, text: text)
72
72
 

1

2018/02/07 14:01

投稿

sam3457
sam3457

スコア52

test CHANGED
File without changes
test CHANGED
@@ -238,17 +238,15 @@
238
238
 
239
239
 
240
240
 
241
- 画像のエラーをググってこちらのサイトの様に修正しようとしました。 https://qiita.com/___dera/items/7313f2fc705d846c88f2 
241
+ 画像のエラーをググってこちらを参考に修正しようとしました。 https://qiita.com/___dera/items/7313f2fc705d846c88f2 
242
-
242
+
243
- ![イメージ説明](cc4f28c872be48c5731ee7a63d7c8cc6.png)
243
+ http://swift-salaryman.com/typeanyhasnosubscript.php
244
-
245
-
246
-
247
-
248
-
249
-
250
-
244
+
245
+
246
+
251
- こち
247
+ 明記的に分解?、、わかる様なわかない様な、、
248
+
249
+ 結局??状態でどう直せばいいかわかりませんでした。
252
250
 
253
251
 
254
252
 
@@ -260,11 +258,7 @@
260
258
 
261
259
 
262
260
 
263
- は画像の様に1行から2行にするしか修正法はありませんかね?
264
-
265
-
266
-
267
- またそれしかなかった場合どう修正すればよろしいでしょうか?
261
+ 以上のコードのちの一行を修正するとなると、どう記述さますでしょうか?
268
262
 
269
263
 
270
264