Проблемы с получением PFusers с parse.com для приложения IOS

Я создаю приложение IOS в быстрой версии 2.0 в бета-версии xCode. Я создал собственный пользовательский класс, подклассы которого PFUser, соответствующие выдержки из класса воспроизводятся ниже.

import UIKit

class User: PFUser, Entity {
    // MARK: - Declare Field Variables
    @NSManaged var firstName : String
    @NSManaged var lastName : String
    //Several other state variables follow in the same format

    ///initializing a new person
    init (firstName: String, lastName: String, password: String, email: String) {
        super.init()
        super.username = email
        super.password = password
        super.email = email
        //set initial key-value pairs for person
        self.firstName = firstName
        self.lastName = lastName

        // Special method to sign up new user
        super.signUp()
    }
    // Additional methods placed here

    // MARK: - Conformation to PFObjectSubclassing
    override class func initialize() {
        self.registerSubclass()
    }

    // MARK: - Conformation to Entity
    func saveToDatabase() {
        //Saves the new PFObject Asyncronously
        self.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
            if (success)    { print("User \(self.username) succesfully saved to database.") }
            else            { print(error) }
        }
    }
}

Используя графический интерфейс синтаксического анализа, я убедился, что пользователи были успешно сохранены в базе данных.

Я пытаюсь получить данные с помощью класса, написанного в Appdelegate, который вызывается из Appdelegate следующим образом:

var examplePerson: User!

func funcThatIsCalled() {
    var query : PFQuery = PFUser.query()!
    var people = query.findObjects()
    self.examplePerson = people![0] as! User
}

Это возвращает ошибку:

«Не удалось преобразовать значение типа« PFUser »(0x108326490) в« MyPersonalApp.User »(0x108323f80).»

Добавление User.registerSublass () в Appdelegate следующим образом:

User.registerSubclass()
        // Initialize Parse.
        Parse.setApplicationId("myAppID",
            clientKey: "MyClientKey")  

приводит к ошибке:

Завершение работы приложения из-за неперехваченного исключения «NSInternalInconsistencyException», причина: «Класс PFUser должен быть зарегистрирован в registerSubclass перед использованием Parse».


person Troy Murtha    schedule 14.07.2015    source источник


Ответы (1)


Догадаться:

PFUser.query()

должно быть

User.query()
person Troy Murtha    schedule 14.07.2015