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