[英]Parse PFUser Subclass Sign Up using Swift Best Practice
我剛剛下載並嘗試了Parse。
一切都按預期工作,但是我對一個好的子類化設計有疑問。
默認情況下,標准PFUser具有三個字段。
我想在User表中添加更多的“列”。 那些是:
下面是我的子類設計,但是我不確定這是否是想為其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;
}
}
}
問題:
我想知道子類化PFUser的最佳方法是什么(為了向其中添加列),當然還有可能的最佳設計。 您有任何設計思路嗎?
我們是否應該重寫init方法並實例化所有變量(firstName,lastName,phone等),以便在signUp上創建可選字段列?
我應該擺脫那些didSets塊嗎? 如果是,您可以建議一個更好的設計嗎?
我認為,實現所需目標的最簡單方法是使用存儲的@NSManaged
屬性:
class GPUser: PFUser, PFSubclassing {
@NSManaged var firstName: String
@NSManaged var lastName: String
@NSManaged var phone: String
@NSManaged var profilePicture: PFFile
class func parseClassName() -> String! {
return "YourParseClassName"
}
}
不要忘記在AppDelegate
注冊自定義PFUser
類:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
GPUser.registerSubclass()
}
編寫擴展程序怎么樣?
就像是:
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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.