1

Parse をダウンロードして試してみました。

すべてが期待どおりに機能しますが、適切なサブクラス化の設計について質問があります。

標準の PFUser には、デフォルトで 3 つのフィールドがあります。

  1. ユーザー名
  2. 電子メールアドレス
  3. パスワード

User テーブルにさらにいくつかの「列」を追加したいと思います。それらは:

  1. ファーストネーム
  2. 苗字
  3. 電話(任意)
  4. プロフィールの写真

以下は私のサブクラスの設計ですが、これが PFUser をサブクラス化する方法であるかどうかはわかりません。

import UIKit

class GPUser: PFUser, PFSubclassing {
    var firstName: String? {
        didSet {
            self["firstName"] = firstName;
        }
    }
    var lastName: String? {
        didSet {
            self["lastName"] = lastName;
        }
    }
    var phone: String? {
        didSet {
            self["phone"] = phone;
        }
    }
    var profilePicture: PFFile? {
        didSet {
            self["profilePicture"] = profilePicture;
        }
    }
}

質問:

  1. PFUser をサブクラス化するための最良のアプローチ (列を追加するため) と、もちろん可能な限り最良の設計を考えています。気になるデザインはありますか?

  2. サインアップ時にオプションのフィールド列が作成されるように、init メソッドをオーバーライドしてすべての変数 (firstName、lastName、phone など) をインスタンス化する必要がありますか?

  3. これらの didSets ブロックを取り除く必要がありますか? はいの場合、より良いデザインを提案していただけますか?

4

2 に答える 2

1

拡張機能を書くのはどうですか?

何かのようなもの:

extension PFUser {

    var picture:PFFile? {
        get {
            return self["picture"] as? PFFile
        }
        set {
            self["picture"] = newValue
        }
    }

    var name:String?{
        get {
            return self["name"] as? String
        }
        set {
            self["name"] = newValue
        }
    }

    var score:Int? {
        return self["score"] as? Int
    }
}
于 2015-05-26T14:25:59.040 に答える