同一个PFObject子类的多个子类导致错误

时间:2014-07-06 19:01:13

标签: swift parse-platform

我在Swift中为我的PFObject子类设置了这个非常简单的设置。

  • Foo:PFObject
  • Bar1:Foo
  • Bar2:Foo

以下是代码中的内容:

import Foundation

class Foo : PFObject, PFSubclassing
{
    class func parseClassName() -> String!
    {
        return "Foo"
    }
}

BAR1

import Foundation

class Bar1 : Foo {}

BAR2

import Foundation

class Bar2 : Foo {}

AppDelegate didFinishLaunching

Foo.registerSubclass()
Bar1.registerSubclass()
Bar2.registerSubclass()
Parse.setApplicationId("APP_ID", clientKey: "CLIENT_KEY")

然后我在运行时收到此错误:

Tried to register both _TtC9CardForge4Bar1 and _TtC9CardForge4Bar2 as the native 
PFObject subclass of Foo. Cannot determine the right class to use because neither 
inherits from the other.

看来我不能拥有一个PFObject子类的多个子类,但我在文档中看不到任何内容。这里发生了什么?什么是原生子类?

2 个答案:

答案 0 :(得分:0)

我认为你不能这样做。我不明白这样做你想去哪里。

我认为解析子类化的最佳方法是:一个表的一个子类。为Parse子类化最重要的目标是管理您的属性。因此,将所有自定义属性复制到自定义类。并注册这个子类。之后,您可以为方法创建其他子类(未注册解析)或保护您的属性。

答案 1 :(得分:0)

从Parse iOS SDK 1.6.2开始,我可以确认您可以拥有PFObject的子类的子类,并且它们可以正常工作。

即。可以拥有class Foo : Barclass Bar : PFObject,您可以保存Foo类型的对象并查询它们。它只是有效。