質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Parse.com

Parse は BaaS ( Backend as a Service)モバイルアプリ開発のサーバサイド部分を肩代わりしてくれるサービスです

Q&A

解決済

1回答

2055閲覧

Swift3 warning - Result of call is unused, but produces 'BFTask<NSNumber>

sandalwalk

総合スコア77

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Parse.com

Parse は BaaS ( Backend as a Service)モバイルアプリ開発のサーバサイド部分を肩代わりしてくれるサービスです

0グッド

0クリップ

投稿2017/01/20 03:11

編集2017/01/21 15:07

Xcode8+Parse(on heroku)でインスタグラム的なアプリを作っています。下記の方法でParse上からオブジェクトを消去しようとしているのですが、Parse上にもデータを消すことができません。
ちなみに、Parse上で手動でフォロー中ユーザのオブジェクトを消去すると、アプリ上でもフォローを解除できます。このことから、Parseに対して消去の命令が伝わっていない感じがするのですが、解決方法が分かりません。アドバイスをお願い致します。
P.S. 気になるのは、プログラムを実行するとdeleteInBackground()の部分で、
Result of call is unused, but produces 'BFTask<NSNumber>'というwarningが出ている点です。この部分をどの様に変更すれば良いのでしょうか。

swift3

1 2 // ココから下でセル中のフォローしているユーザーをタップした場合にフォロー解除の処理 3 } else { 4 5 isFollowing[followedObjectId] = false 6 7 cell.accessoryType = UITableViewCellAccessoryType.none 8 9 let query = PFQuery(className: "followers") 10 11 query.whereKey("follower", equalTo: PFUser.current()!.objectId!) 12 query.whereKey("following", equalTo: userids[indexPath.row]) 13 14 query.findObjectsInBackground(block: { (objects, error) -> Void in 15 16 if let objects = objects { 17 18 for object in objects { 19 20 (object as AnyObject).deleteInBackground() 21 22 } 23 } 24 25 }) 26 27 } 28 29 } 30

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

Result of call is unused, but produces 'BFTask<NSNumber>'というwarningについては、

_ = (object as AnyObject).deleteInBackground()

に変更することで解決する。

プログラム側からParse上のデータを消去できない理由は、AppDelegate.swift中のParseに関するデフォルト設定で以下が記述されている為に、Parse上に作成されたデータはedit権限が無い状態になっている。このデフォルトのACLに関する記述をコメントアウトした所動作するようになった。(但しParseのACLに関する詳しい設定方法は確認していないので、セキュリティー上正しい処理なのかは不明)
詳しくは、
http://parseplatform.github.io/docs/ios/guide/#security-object-level-access-control
を読むべき。

swift3

1PFUser.enableAutomaticUser() 2 3let defaultACL = PFACL(); 4 5// If you would like all objects to be private by default, remove this line. 6 7defaultACL.getPublicReadAccess = true 8 9 10PFACL.setDefault(defaultACL, withAccessForCurrentUser: true)

投稿2017/01/25 00:11

sandalwalk

総合スコア77

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問