2015-03-03 3 views
0

Я довольно новичок в iOS/Swift/Parse, и я пытаюсь построить модель класса с использованием PFSubclassing.Parse PFSubclassing in Swift of Object type

Данные, которые я пытаюсь представить должен выглядеть как этот

{ 
    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 using Parse PFSubclassing

Любая помощь была бы принята с благодарностью. Спасибо

ответ

0

Я видел несколько различных методов для PFSubclassing в Swift 1.2, но следующие работает лучше для меня:

Для начала убедитесь, что у вас есть следующие в вашей Objective-C Bridging Заголовок:

#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 ... Я немного запутался, что именно вы пытаетесь сделать с этим. Надеюсь, это поможет.