2015-03-03 64 views
0

我對iOS/Swift/Parse相當陌生,我試圖使用PFSubclassing構建一個類的模型。解析對象類型Swift中的PFSubclassing

我想代表應該是這個樣子

{ 
    text: "" 
    location : { 
     name: "", 
     longitude: "", 
     latitude: "" 
    } 
} 

所以車費我的模型擁有的數據是

class LocationModel { 
    var name: String? 
    var longitude: Float? 
    var latitude: Float? 
} 


class PostModel: PFObject, PFSubclassing { 

    class func parseClassName() -> String! { 
     return "Post" 
    } 

    @NSManaged var text: String? 
    var location: LocationModel? 
} 

test屬性被保存成功但我無法獲得location屬性保存。

我使用保存記錄解析的代碼是

var test = PostModel() 
    test.location?.name = "ESB" 
    test.location?.latitude = 1 
    test.location?.longitude = 1 

    test.text = "This is a test post to see if this works!" 

test.saveEventually { (success: Bool, error: NSError!) -> Void in 
    println(error) 
    println(success) 
} 

我做網上挖了很多,但我無法找到如何,代表了一個Object數據類型的解決方案Swift使用分析PFSubclassing

任何幫助將不勝感激。 謝謝

回答

0

我在雨燕1.2見過幾個不同的方法來PFSubclassing,但以下最適合我:

首先,確保你在你的Objective-C橋接報如下:

#import <Parse/PFObject+Subclass.h> 

這裏是子類PFObject的一個非常簡單的例子:

import Foundation 
import Parse 

class Car: PFObject, PFSubclassing { 
    override class func initialize() { 
     self.registerSubclass() 
    } 

    static func parseClassName() -> String { 
     return "Car" 
    } 

    @NSManaged var model: String 
    @NSManaged var color: String 
    @NSManaged var yearManufactured: Int 

} 

所以喲烏爾情況下,這將是:

class PostModel: PFObject, PFSubclassing { 
    override class func initialize() { 
     self.registerSubclass() 
    } 

    static func parseClassName() -> String { 
     return "Post" 
    } 

    @NSManaged var text: String? 
} 

關於你LocationModel ......我有點困惑,正是你正在嘗試與實現。我希望這有幫助。