前提・実現したいこと
mBaaSを用いて,
取得してきた値から,辞書のキーをreturnさせたいです.
発生している問題・エラーメッセージ
swift
1Unexpected non-void return value in void function
該当のソースコード
swift
1func hoge( ) -> Array<Int>{ 2 var ans : Array<Int> = [0] 3 var result: [NCMBObject] = [] 4 5 query?.findObjectsInBackground({(objects, error) in 6 if (error != nil){ 7 // 検索失敗時の処理 8 return ans[0] = 0 //① 9 }else{ 10 // 検索成功時の処理 11 result = objects! as! [NCMBObject] 12 //検索結果の1番目のnumを格納 13 let num = result[0].object(forKey: "num") as! Int 14 //ansにdictionaryのnumの値が入ったキーを格納 15 ans = Array(dictionary.filter {$0.value == num}.keys) 16 17 print("KEY=", Array(dictionary.filter {$0.value == similarColor}.keys)) 18 19 return ans //② ここでエラー 20 } 21 22 }) 23//③ 24}
試したこと
最初,①と②のところでエラーが出ていました.
そこで,①と②のところにreturnを書きました.
①のエラーは消えたのですが,②のエラーは出たままです.
こちらで,クロージャー内のみでは
駄目というところまではわかりましたが,③のところにreturnを書くと
格納される前にreturnが行われてしまいます.
②の値をreturnさせるためにはどのようにしたら良いのでしょうか??
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/05/26 14:15