Core data 在NSManagedObject';什么是定制类?

Core data 在NSManagedObject';什么是定制类?,core-data,nsmanagedobject,key-value-observing,kvc,Core Data,Nsmanagedobject,Key Value Observing,Kvc,一般来说。。。在NSManagedObject类中,在给定float动态属性的一个setter中,可以对该setter中相同NSManagedObject的其他float动态属性使用点语法getter吗?或者,在访问某个值时,我是否需要使用符合KVC的CoreData访问器,即使它来自与所访问值的实际getter不同的方法?我假设以这种方式调用点语法会触发我的另一个自定义访问器,这对我来说没问题,因为里面有正确的KVC原语访问器。但我似乎遇到了一些奇怪的问题,点语法要么失败了,要么出现了不可预测

一般来说。。。在NSManagedObject类中,在给定float动态属性的一个setter中,可以对该setter中相同NSManagedObject的其他float动态属性使用点语法getter吗?或者,在访问某个值时,我是否需要使用符合KVC的CoreData访问器,即使它来自与所访问值的实际getter不同的方法?我假设以这种方式调用点语法会触发我的另一个自定义访问器,这对我来说没问题,因为里面有正确的KVC原语访问器。但我似乎遇到了一些奇怪的问题,点语法要么失败了,要么出现了不可预测的结果,我不确定这是因为我以一种不安全的方式使用点语法,还是因为我还没有发现其他一些错误

下面是我所说的代码示例:

- (void)illTakeYouToTheWoodshed {
    float h = self.SSx.floatValue/self.yourMomsCurrentWeightInTons.floatValue;
    [self willChangeValueForKey:@"SSy"];
    [self setPrimitiveValue:@(h) forKey:@"SSy"];
    [self didChangeValueForKey:@"SSy"];
    [self diagonal]; //makes sure nd gets set
}

- (void)setSSx:(NSNumber *)value{
    [self willChangeValueForKey:@"SSx"];
    [self setPrimitiveValue:value forKey:@"SSx"];
    [self didChangeValueForKey:@"SSx"];
    if(self.WorH==syanara || self.WorH == dude_wtf) {
        if(self.SSy.floatValue != 0.0) {
            [self doThatFunkyDance];
            [self diagonal]; 
        } else if (self.youBetcha.floatValue != 0.0) {
            [self whatTheFrakDoesThisEvenDo];
        }
    } else if (self.WorH==fooBarTastic) {
        if(self.yourMomsCurrentWeightInTons.floatValue != 0.0) {
            [self illTakeYouToTheWoodshed];
        }
    } else {
        NSLog(@"Escaped with salad not having been tossed.");
    }
}

你能给我举一个你所说的setter的代码例子吗?一般来说没问题,但我同意,看到实际的代码会很好。我也同意,一些代码片段会很棒。没有这些额外的信息,我只能说你的“还有一些其他的bug”似乎是真的