Ios 解析swift子类关系

Ios 解析swift子类关系,ios,swift,parse-platform,Ios,Swift,Parse Platform,我正在我的swift应用程序中实现解析。 我有子类,其中一个子类的成员对象是另一个parse子类。当我尝试访问该对象时,应用程序会收到“由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[fve.Workout set]:未识别的选择器发送到实例0x1740d0d10” 知道我如何访问PFObject子类的元素吗?PFObject子类本身就是PBObject子类 下面是我如何声明对象的: class Workout: PFObject, PFSub

我正在我的swift应用程序中实现解析。 我有子类,其中一个子类的成员对象是另一个parse子类。当我尝试访问该对象时,应用程序会收到“由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[fve.Workout set]:未识别的选择器发送到实例0x1740d0d10”

知道我如何访问PFObject子类的元素吗?PFObject子类本身就是PBObject子类

下面是我如何声明对象的:

class Workout: PFObject, PFSubclassing {
    @NSManaged var date: NSDate
    @NSManaged var workoutTime: Int
    @NSManaged var sets: [ExerciseSet]
    ...
}

class ExerciseSet: PFObject, PFSubclassing {
    @NSManaged var exercise: Exercise
    @NSManaged var sets: [SingleSet]
    ...
}
当我尝试访问字段时,这会导致崩溃:

for workout in historicalWorkoutsParse {
    println("workout \(workout)")
    let exerciseSets = workout.sets
    println("exerciseSet: \(exerciseSets)")
}
即使我确实看到数据存在于对象中:

workout <Workout: 0x1740cf8f0, objectId: A3218Oxiuh, localId: (null)> {
    date = "2015-09-05 19:39:43 +0000";
    sets =     (
        "<ExerciseSet: 0x1740cf960, objectId: V54sAUKSMf, localId: (null)>"
    );
    user = "<PFUser: 0x174109240, objectId: LbeTd8GqwU, localId: (null)>";
    workoutTime = 0;
}
训练{
日期=“2015-09-05 19:39:43+0000”;
集合=(
""
);
用户=”;
工作时间=0;
}

谢谢

应用程序:didFinishLaunchingWithOptions:


如果使用
PFSubclassing
,则需要在自定义子类中重写
parseClassName
,然后才能使用该类。还必须在调用
Parse.setApplicationId
之前执行此操作:

Workout.registerSubclass()
ExerciseSet.registerSubclass
//Parse.setApplicationId

Parse似乎不喜欢我使用“set”作为对象名。当我将它改为“exerciseSet”时,它似乎起了作用(当我将其作为字典访问时,它也起了作用……workout[“set”])

谢谢,我尝试添加了我所有的pf子类,但仍然看到相同的崩溃。另外,我也在跟踪,所以我已经在类本身的initialize方法中使用了registerSubclass。有什么想法吗?我是否必须在某处指定关系或键…?谢谢DBoyer,我尝试过,但仍然看到崩溃(请参见下面的Christian评论)。。。