iPhone OS:有没有办法在两个NSManagedObject实体之间设置KVO?

时间:2010-05-27 00:44:35

标签: iphone core-data key-value-observing achievements

我有2个要与KVO链接的实体,一个是跟踪不同统计数据的单个statTracker类,另一个是包含有关成就信息的成就类。理想情况下,我想要做的是设置KVO,让成就类的实例观察statTracker类的值,并设置一个阈值,成就实例应该“触发”(在这种情况下触发)将意味着显示UIAlertView并更改成就类的属性。)

如果可能的话,我还想在实例课的实例化中设置这些关系

有点像这样:

Achievement *achievement1 = (Achievement *)[NSEntityDescription insertNewObjectForEntityForName:@"Achievement" inManagedObjectContext:[[CoreDataSingleton  sharedCoreDataSingleton] managedObjectContext]];
    [achievement1 setAchievementName:@"2 time launcher"];
    [achievement1 setAchievementDescription:@"So you've decided to come back for more eh? Here are some achievement points to get you going"];
    [achievement1 setAchievementPoints:[NSNumber numberWithInt:300];
            [achievement1 setObjectToObserve:@"statTrackerInstace"
                           propertyToObserve:@"timesLaunched" 
                           valueOfPropertToSatisfyAchievement:2]

那里的任何人都知道如何设置它?有没有办法通过我没见过的关系来做到这一点?

谢谢,

尼克

1 个答案:

答案 0 :(得分:0)

NSManagedObjects是NSObjects,如果你用类来支持它们,你可以添加你想要的任何方法。

也就是说,您可能希望创建一个成就管理器类来管理类之间的关系并执行任何触发器响应。