質問編集履歴

4

記載ミスの変更

2019/08/20 23:47

投稿

samusara
samusara

スコア21

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ### このデータ群からuserの番号とツリーの名前が一致した時にデータの取得を許可したいです。
16
16
 
17
- 例えばアプリから名前と番号を入力する時、画像で言えば井田さんは自分の登録番号が「3」なので自分の名前「井田」と番号「3」を入力する。
17
+ 例えばアプリから名前と番号を入力する時、画像で言えば井田さんは自分の登録番号が「3」なので自分の名前「井田」と番号「3」を入力する。
18
18
 
19
19
  それぞれtextFieldに入力した時、名前以外のデータを返すようにしたいのですが、うまく参考文献を探すことができずに行き詰まっています。
20
20
 

3

記載ミスの変更

2019/08/20 23:47

投稿

samusara
samusara

スコア21

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ### このデータ群からuserの番号とツリーの名前が一致した時にデータの取得を許可したいです。
16
16
 
17
- 例えばアプリから名前と番号を入力する時、画像で言えば井田さんは自分の登録番号が「3」なので自分の名前「井田」と番号「36」を入力する。
17
+ 例えばアプリから名前と番号を入力する時、画像で言えば井田さんは自分の登録番号が「3」なので自分の名前「井田」と番号「36」を入力する。
18
18
 
19
19
  それぞれtextFieldに入力した時、名前以外のデータを返すようにしたいのですが、うまく参考文献を探すことができずに行き詰まっています。
20
20
 

2

エラー追記

2019/08/20 23:47

投稿

samusara
samusara

スコア21

test CHANGED
File without changes
test CHANGED
@@ -29,3 +29,145 @@
29
29
  swift 5.0.1
30
30
 
31
31
  macOS Mojave 10.14.5
32
+
33
+
34
+
35
+ 追記
36
+
37
+ 上記より学習を進め
38
+
39
+
40
+
41
+ import UIKit
42
+
43
+ import Firebase
44
+
45
+
46
+
47
+
48
+
49
+ class ViewController: UIViewController {
50
+
51
+
52
+
53
+
54
+
55
+ @IBOutlet weak var inputIdnumber: UITextField!
56
+
57
+ @IBOutlet weak var displayNum: UILabel!
58
+
59
+ @IBOutlet weak var displayPoint: UILabel!
60
+
61
+
62
+
63
+ @IBOutlet weak var displayName: UILabel!
64
+
65
+
66
+
67
+ @IBOutlet weak var displayPtNum: UILabel!
68
+
69
+ @IBOutlet weak var displayPrize: UILabel!
70
+
71
+ @IBOutlet weak var displayPrize2: UILabel!
72
+
73
+ @IBOutlet weak var displayPrizenum: UILabel!
74
+
75
+ @IBOutlet weak var displayPrize2num: UILabel!
76
+
77
+
78
+
79
+
80
+
81
+ // インスタンス変数
82
+
83
+ var DBRef:DatabaseReference!
84
+
85
+
86
+
87
+ override func viewDidLoad() {
88
+
89
+ super.viewDidLoad()
90
+
91
+
92
+
93
+ //インスタンスを作成
94
+
95
+ DBRef = Database.database().reference()
96
+
97
+
98
+
99
+ Database.database().reference().child("user").child("37").observeSingleEvent(of: .value, with:{(snapshot) in
100
+
101
+ if let data = snapshot.value as? [String:AnyObject]{
102
+
103
+ let name = data["name"] as? String
104
+
105
+ let ptnow = data["ptnow"] as? String
106
+
107
+ let ptnum = data["ptnum"] as? String
108
+
109
+ let prize = data["prize"] as? String
110
+
111
+ let prize2 = data["prize2"] as? String
112
+
113
+ let prizenum = data["prizenum"] as? String
114
+
115
+ let prize2num = data["prize2num"] as? String
116
+
117
+ print(name!)
118
+
119
+ print(ptnow!)
120
+
121
+
122
+
123
+ self.displayPoint.text = ptnow
124
+
125
+ self.displayName.text = name
126
+
127
+ self.displayNum.text = ptnum
128
+
129
+ self.displayPrize.text = prize
130
+
131
+ self.displayPrize2.text = prize2
132
+
133
+ self.displayPrizenum.text = prizenum
134
+
135
+ self.displayPrize2num.text = prize2num
136
+
137
+ }
138
+
139
+ }, withCancel: nil)
140
+
141
+
142
+
143
+
144
+
145
+ }
146
+
147
+ }
148
+
149
+ のようなコードを元に「37」番の井田さんのデータを取り出すことができました。
150
+
151
+ Database.database().reference().child("user").child("37").observeSingleEvent(of: .value, with:{(snapshot) in
152
+
153
+ これは参照したい場所を最初から指定しているので当然と言えば当然なのです。
154
+
155
+ それでchild("37")⇦の中をtextfieldで入力した数字にしたいのですがうまくいきません。
156
+
157
+
158
+
159
+ viewDidLoadの下に
160
+
161
+
162
+
163
+ let inputIdNumber = inputIdnumber.textと
164
+
165
+ そして
166
+
167
+ child("37")→child(inputIdNumber!)と書き換えてみました
168
+
169
+
170
+
171
+ シミュレータにかけると
172
+
173
+ signal SIGABRTエラーが出てしまいます。

1

質問内容の訂正

2019/08/20 20:52

投稿

samusara
samusara

スコア21

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ### このデータ群からuserの番号とツリーの名前が一致した時にデータの取得を許可したいです。
16
16
 
17
- 例えばアプリから名前と番号を入力する時、画像で言えば井田さんは自分の登録番号が「3」なので自分の名前「井田」と番号「36」を入力する。
17
+ 例えばアプリから名前と番号を入力する時、画像で言えば井田さんは自分の登録番号が「3」なので自分の名前「井田」と番号「36」を入力する。
18
18
 
19
19
  それぞれtextFieldに入力した時、名前以外のデータを返すようにしたいのですが、うまく参考文献を探すことができずに行き詰まっています。
20
20