質問編集履歴

2

書式修正

2017/01/02 14:26

投稿

kazy1981
kazy1981

スコア44

test CHANGED
File without changes
test CHANGED
@@ -130,10 +130,12 @@
130
130
 
131
131
  宜しくお願いいたします。
132
132
 
133
+
134
+
135
+ 1月2日追記
136
+
133
137
  ---
134
138
 
135
- 1月2日追記
136
-
137
139
  Kentarou様のコメントで確実に前進しましたが(おそらくエスケープや”同期”などの仕組みが分かっておらず、以前完全にゴールできておりません・・)
138
140
 
139
141
 

1

Kentarou様の助言に基づきコードを改良しましたが、あと一歩及んでおりません。。

2017/01/02 14:26

投稿

kazy1981
kazy1981

スコア44

test CHANGED
File without changes
test CHANGED
@@ -129,3 +129,115 @@
129
129
 
130
130
 
131
131
  宜しくお願いいたします。
132
+
133
+ ---
134
+
135
+ 1月2日追記
136
+
137
+ Kentarou様のコメントで確実に前進しましたが(おそらくエスケープや”同期”などの仕組みが分かっておらず、以前完全にゴールできておりません・・)
138
+
139
+
140
+
141
+ 以下の助言に基づき、以下のコードにいたしました。
142
+
143
+ ```ここに言語を入力
144
+
145
+
146
+
147
+ var friendsString:[String] = []
148
+
149
+
150
+
151
+ override func viewDidLoad() {
152
+
153
+ super.viewDidLoad()
154
+
155
+
156
+
157
+ self.getFBfriends{
158
+
159
+ var mycount = 0
160
+
161
+ for friend in self.friendsData{
162
+
163
+ mycount += 1
164
+
165
+
166
+
167
+ print(String(mycount) + " in VDL :" + (friend["name"] as! String))
168
+
169
+ self.friendsString.append(friend["name"] as! String)
170
+
171
+ self.friendsString.append("てすと")
172
+
173
+ }
174
+
175
+ }
176
+
177
+ // self.setupFriends()
178
+
179
+ print("ともだちすとりんぐ = \(friendsString)")
180
+
181
+
182
+
183
+ }
184
+
185
+ // getFBfriendsメソッド(Kentarou様のご提示のものそのままです)
186
+
187
+ func getFBfriends(resultBlock: @escaping () -> Void) {
188
+
189
+
190
+
191
+ FBSDKGraphRequest(graphPath: "me/taggable_friends", parameters: ["fields": "id, name, gender, age_range, locale, timezone, updated_time, first_name, last_name, picture.type(large), email"]).start(completionHandler: { (connection, result, error) -> Void in
192
+
193
+ if (error == nil){
194
+
195
+ let dict:NSDictionary!
196
+
197
+ dict = result as! [String : Any] as NSDictionary!
198
+
199
+
200
+
201
+ self.friendsData = dict.object(forKey: "data") as! [[String:Any]]
202
+
203
+
204
+
205
+ var mycount = 0
206
+
207
+ for friend in self.friendsData {
208
+
209
+ mycount += 1
210
+
211
+ print(String(mycount) + " :" + (friend["name"] as! String))
212
+
213
+ }
214
+
215
+
216
+
217
+ resultBlock()
218
+
219
+ }else{
220
+
221
+
222
+
223
+ print (error!)
224
+
225
+ resultBlock()
226
+
227
+ }
228
+
229
+ })
230
+
231
+ }
232
+
233
+ ```
234
+
235
+ 結果、非常に不思議ですが、print分ではin VDL部分は表示されるものの、friendsStringは空でした。for friend in self.friendsDataループ内でブレークポイントを設定してデバッグすると確かにfriendsStringに友達の名前が入っているのですが、ループを出た時にリセットされる(?)ようです。
236
+
237
+
238
+
239
+ おそらくクリティカルに何らかの理解が欠落しているのだと思いますが、恐縮ながらあと一歩ご助言いただければと存じます。
240
+
241
+
242
+
243
+ 宜しくお願いいたします。