0

したがって、次のコードを使用して、Parse でリレーションを正しく設定しました。

var user = PFUser.currentUser() var relation = user.relationForKey("likes") relation.addObject(self.post) user.saveInBackgroundWithBlock({ (Bool, error) -> Void in println("user likes this post") // Used for tracking in the PFTableCell for UI parts self.userLikes = true })

ビューが読み込まれたら、ボタンを Liked に変更し、色などを変更する必要があります。この特定の投稿を気に入ったすべてのユーザーを取得したいのですが、クエリを理解できませんか? 他にも役立つ情報が得られます (たとえば、投稿を気に入った人のユーザー名を表示できます)。

回避策として、次のようにして、ユーザーが好きなすべての投稿を取得できます。

var user = PFUser.currentUser()
var relation = user.relationForKey("likes")
relation.query().findObjectsInBackgroundWithBlock {
    (objects: [AnyObject]!, error: NSError!) -> Void in
    if error != nil {
        // There was an error
        println(error)
    } else {
        // objects has all the Posts the current user liked and do something.
        println(objects)         
    }
}

しかし、それは私が求めているものではありませんか?私は Swift と Parse SDK を使用していますが、喜んで Obj C に答えがあり、翻訳します。Parse docs の提案は間違っています: https://www.parse.com/docs/ios_guide#objects-pointers/iOSユーザーではなく投稿に対して like を保存できますが、それは私が開かなければならないことを意味します禁止されている投稿へのアクセス権

4

1 に答える 1

0

データベース構造に問題があります。User オブジェクトだけでなく、Post オブジェクトも必要です。投稿には、投稿を気に入ったすべてのユーザーを指すいいね! 関係を含めることができます。ユーザーが投稿を気に入ると、そのユーザーは投稿のいいね! リレーションに追加されます。したがって、必要な情報を取得するには、Post のリレーションを確認するだけです。

投稿へのオープン アクセス権については、どういう意味ですか? 投稿したユーザー以外のすべてのユーザーに対して投稿を読み取り専用にしますか?

それとも、ユーザー オブジェクトへのアクセス権を与えることに問題がありますか? User オブジェクトのデータを実際に見ずに、リレーション内の User オブジェクトを簡単に数えることができるので、それが本当に問題なのかどうかはわかりません。Like オブジェクトを作成することもできますが、必要ではないと思います。

于 2015-03-19T01:20:23.203 に答える