fixed():1.修改循环引用的问题
This commit is contained in:
parent
afcba2e630
commit
b11e780050
|
|
@ -14,7 +14,7 @@
|
|||
}
|
||||
|
||||
- (IValue *)getInitParam {
|
||||
return [self.iValueManager getPreIValue];
|
||||
return self.iValueManager.preIValue;
|
||||
}
|
||||
|
||||
- (void)setInitParam:(IValue *)iValue {
|
||||
|
|
@ -41,10 +41,10 @@
|
|||
bgValue = @([self.rfManager getRefValue].value);
|
||||
} else if ([self.rfManager isWaitCalK]) {
|
||||
bgValue = @([self.rfManager getRefValue].value);
|
||||
[i4_data setRfTime:[self.rfManager getRefValue].time];
|
||||
[i4_data setRf:@([self.rfManager getRefValue].value)];
|
||||
} else if ([i4_data getK] != nil) {
|
||||
bgValue = @([i4_data.getI4 doubleValue] / [i4_data.getK doubleValue]);
|
||||
i4_data.rfTime = [self.rfManager getRefValue].time;
|
||||
i4_data.rf = @([self.rfManager getRefValue].value);
|
||||
} else if (i4_data.k != nil) {
|
||||
bgValue = @([i4_data.I4 doubleValue] / [i4_data.k doubleValue]);
|
||||
}
|
||||
|
||||
bgValue = [self roundDouble:bgValue.doubleValue precision:1];
|
||||
|
|
@ -55,9 +55,9 @@
|
|||
[i4_data setBg:bgValue];
|
||||
[self.iValueManager setPreIValue:i4_data];
|
||||
|
||||
NSString *rft = [i4_data getRfTime] == nil ? @"" : [self dateformate:[i4_data getRfTime]];
|
||||
NSString *rft = i4_data.rfTime == nil ? @"" : [self dateformate:i4_data.rfTime];
|
||||
|
||||
NSLog(@"%@\t%@\t%@", [i4_data getCurrent], [self dateformate:[i4_data getCurrentTime]], bgValue);
|
||||
NSLog(@"%@\t%@\t%@", i4_data.current, [self dateformate:i4_data.currentTime], bgValue);
|
||||
return bgValue;
|
||||
}
|
||||
|
||||
|
|
@ -77,10 +77,10 @@
|
|||
bgValue = @([self.rfManager getRefValue].value);
|
||||
} else if ([self.rfManager isWaitCalK]) {
|
||||
bgValue = @([self.rfManager getRefValue].value);
|
||||
[i4_data setRfTime:[self.rfManager getRefValue].time];
|
||||
[i4_data setRf:@([self.rfManager getRefValue].value)];
|
||||
} else if ([i4_data getK] != nil) {
|
||||
bgValue = @([i4_data.getI4 doubleValue] / [i4_data.getK doubleValue]);
|
||||
i4_data.rfTime = [self.rfManager getRefValue].time;
|
||||
i4_data.rf = @([self.rfManager getRefValue].value);
|
||||
} else if (i4_data.k != nil) {
|
||||
bgValue = @([i4_data.I4 doubleValue] / [i4_data.k doubleValue]);
|
||||
}
|
||||
|
||||
bgValue = [self roundDouble:bgValue.doubleValue precision:1];
|
||||
|
|
@ -126,8 +126,8 @@
|
|||
bgValue = @([self.rfManager getRefValue].value);
|
||||
[i4_data setRfTime:[self.rfManager getRefValue].time];
|
||||
[i4_data setRf:@([self.rfManager getRefValue].value)];
|
||||
} else if ([i4_data getK] != nil) {
|
||||
bgValue = @([i4_data.getI4 doubleValue] / [i4_data.getK doubleValue]);
|
||||
} else if (i4_data.k != nil) {
|
||||
bgValue = @([i4_data.I4 doubleValue] / [i4_data.k doubleValue]);
|
||||
}
|
||||
|
||||
bgValue = [self roundDouble:bgValue.doubleValue precision:1];
|
||||
|
|
@ -138,9 +138,9 @@
|
|||
[i4_data setBg:bgValue];
|
||||
[self.iValueManager setPreIValue:i4_data];
|
||||
|
||||
NSString *rft = [i4_data getRfTime] == nil ? @"" : [self dateformate:[i4_data getRfTime]];
|
||||
NSString *rft = i4_data.rfTime == nil ? @"" : [self dateformate:i4_data.rfTime];
|
||||
|
||||
NSLog(@"%@\t%@\t%@", [i4_data getI0], [i4_data getI1], [i4_data getI2], [i4_data getI3], [i4_data getI4], [i4_data getK], [i4_data getRf], [i4_data getBg], [i4_data getCurrent], [self dateformate:[i4_data getCurrentTime]], [i4_data getRf], rft);
|
||||
// NSLog(@"%@\t%@\t%@", [i4_data getI0], [i4_data getI1], [i4_data getI2], [i4_data getI3], [i4_data getI4], [i4_data getK], [i4_data getRf], [i4_data getBg], [i4_data getCurrent], [self dateformate:[i4_data getCurrentTime]], [i4_data getRf], rft);
|
||||
|
||||
return i4_data;
|
||||
}
|
||||
|
|
@ -148,7 +148,7 @@
|
|||
- (IValue *)calKValueAlgorithm:(IValue *)cur_data {
|
||||
NSNumber *kValue = @(0.0);
|
||||
cur_data = [self calI4ForK:cur_data];
|
||||
kValue = [cur_data getK];
|
||||
kValue = cur_data.k;
|
||||
I4Algorithm *i4Temp = nil;
|
||||
|
||||
if (kValue.doubleValue >= 10.0 && kValue.doubleValue <= 20.0) {
|
||||
|
|
@ -157,12 +157,12 @@
|
|||
}
|
||||
|
||||
if (kValue.doubleValue < 10.0) {
|
||||
[cur_data setI4:@([cur_data.getI3 doubleValue] - [I4Algorithm I4_20].value)];
|
||||
kValue = @([cur_data.getI4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
[cur_data setI4:@([cur_data.I3 doubleValue] - [I4Algorithm I4_20].value)];
|
||||
kValue = @([cur_data.I4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
i4Temp = [I4Algorithm I4_20];
|
||||
} else if (kValue.doubleValue > 20.0) {
|
||||
[cur_data setI4:@([cur_data.getI3 doubleValue] - [I4Algorithm I4_60].value)];
|
||||
kValue = @([cur_data.getI4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
[cur_data setI4:@([cur_data.I3 doubleValue] - [I4Algorithm I4_60].value)];
|
||||
kValue = @([cur_data.I4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
i4Temp = [I4Algorithm I4_60];
|
||||
}
|
||||
|
||||
|
|
@ -173,12 +173,12 @@
|
|||
}
|
||||
|
||||
if (kValue.doubleValue < 7.5) {
|
||||
[cur_data setI4:@([cur_data.getI3 doubleValue] - [I4Algorithm I4_0].value)];
|
||||
kValue = @([cur_data.getI4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
cur_data.I4 = @([cur_data.I3 doubleValue] - [I4Algorithm I4_0].value);
|
||||
kValue = @([cur_data.I4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
i4Temp = [I4Algorithm I4_0];
|
||||
} else if (kValue.doubleValue > 25.0) {
|
||||
[cur_data setI4:@([cur_data.getI3 doubleValue] - [I4Algorithm I4_80].value)];
|
||||
kValue = @([cur_data.getI4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
cur_data.I4 = @([cur_data.I3 doubleValue] - [I4Algorithm I4_80].value);
|
||||
kValue = @([cur_data.I4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
i4Temp = [I4Algorithm I4_80];
|
||||
}
|
||||
|
||||
|
|
@ -200,9 +200,9 @@
|
|||
return 0;
|
||||
}
|
||||
|
||||
double b0 = [[self.calIValue[size - 3] getBg] doubleValue];
|
||||
double b1 = [[self.calIValue[size - 2] getBg] doubleValue];
|
||||
double b2 = [[self.calIValue[size - 1] getBg] doubleValue];
|
||||
double b0 = [self.calIValue[size - 3].bg doubleValue];
|
||||
double b1 = [self.calIValue[size - 2].bg doubleValue];
|
||||
double b2 = [self.calIValue[size - 1].bg doubleValue];
|
||||
|
||||
if (b0 == 0.0 || b1 == 0.0 || b2 == 0.0) {
|
||||
return 0;
|
||||
|
|
@ -227,33 +227,33 @@
|
|||
|
||||
- (IValue *)calI4ForK:(IValue *)cur_data {
|
||||
IValue *I4_redta = [self I4Algorith:cur_data];
|
||||
NSNumber *kValue = @([I4_redta.getI4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
NSNumber *kValue = @([I4_redta.I4 doubleValue] / [self.rfManager getRefValue].value);
|
||||
[I4_redta setK:kValue];
|
||||
return I4_redta;
|
||||
}
|
||||
|
||||
- (IValue *)I4Algorith:(IValue *)cur_data {
|
||||
IValue *prev_data = [self.iValueManager getPreIValue];
|
||||
IValue *prev_data = self.iValueManager.preIValue;
|
||||
|
||||
[cur_data setI0:[cur_data getCurrent]];
|
||||
[cur_data setI0:cur_data.current];
|
||||
|
||||
[cur_data setI1:@([cur_data.getI0 doubleValue] * (1.0 + self.X.X1 * (32.0 - self.X.X2)))];
|
||||
[cur_data setI1:@([cur_data.I0 doubleValue] * (1.0 + self.X.X1 * (32.0 - self.X.X2)))];
|
||||
|
||||
if (prev_data != nil && [prev_data getI3] != nil) {
|
||||
[cur_data setI3:@(self.X.X4 * [cur_data.getI1 doubleValue] + (1.0 - self.X.X4) * [prev_data.getI3 doubleValue])];
|
||||
[cur_data setBgCurrent:[prev_data getBgCurrent]];
|
||||
[cur_data setK:[prev_data getK]];
|
||||
if (prev_data != nil && prev_data.I3 != nil) {
|
||||
cur_data.I3 = @(self.X.X4 * [cur_data.I1 doubleValue] + (1.0 - self.X.X4) * [prev_data.I3 doubleValue]);
|
||||
cur_data.bgCurrent = prev_data.bgCurrent;
|
||||
cur_data.k = prev_data.k;
|
||||
|
||||
if ([cur_data getRf] != nil && [cur_data getRf].doubleValue != 0.0) {
|
||||
[cur_data setRf:[prev_data getRf]];
|
||||
[cur_data setRfTime:[prev_data getRfTime]];
|
||||
if (cur_data.rf != nil && cur_data.rf.doubleValue != 0.0) {
|
||||
cur_data.rf = prev_data.rf;
|
||||
cur_data.rfTime = prev_data.rfTime;
|
||||
}
|
||||
} else {
|
||||
[cur_data setBgCurrent:[I4Algorithm I4_40].value];
|
||||
[cur_data setI3:[cur_data getI1]];
|
||||
cur_data.bgCurrent = [I4Algorithm I4_40].value;
|
||||
cur_data.I3 = cur_data.I1;
|
||||
}
|
||||
|
||||
[cur_data setI4:@([cur_data.getI3 doubleValue] - [cur_data getBgCurrent])];
|
||||
cur_data.I4 = @([cur_data.I3 doubleValue] - cur_data.bgCurrent);
|
||||
|
||||
return cur_data;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,30 +26,7 @@
|
|||
@property (nonatomic, strong) NSDate *rfTime;
|
||||
|
||||
- (instancetype)initWithCurrentTime:(NSDate *)currentTime current:(NSNumber *)current;
|
||||
- (NSDate *)getRfTime;
|
||||
- (void)setRfTime:(NSDate *)rfTime;
|
||||
- (NSNumber *)getBg;
|
||||
- (void)setBg:(NSNumber *)bg;
|
||||
- (NSNumber *)getI0;
|
||||
- (void)setI0:(NSNumber *)i0;
|
||||
- (NSNumber *)getI1;
|
||||
- (void)setI1:(NSNumber *)i1;
|
||||
- (NSNumber *)getI2;
|
||||
- (void)setI2:(NSNumber *)i2;
|
||||
- (NSNumber *)getI3;
|
||||
- (void)setI3:(NSNumber *)i3;
|
||||
- (NSNumber *)getI4;
|
||||
- (void)setI4:(NSNumber *)i4;
|
||||
- (int)getBgCurrent;
|
||||
- (void)setBgCurrent:(int)bgCurrent;
|
||||
- (NSNumber *)getK;
|
||||
- (void)setK:(NSNumber *)k;
|
||||
- (NSNumber *)getRf;
|
||||
- (void)setRf:(NSNumber *)rf;
|
||||
- (NSNumber *)getCurrent;
|
||||
- (void)setCurrent:(NSNumber *)current;
|
||||
- (NSDate *)getCurrentTime;
|
||||
- (void)setCurrentTime:(NSDate *)currentTime;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
|||
|
|
@ -18,101 +18,7 @@
|
|||
return self;
|
||||
}
|
||||
|
||||
- (NSDate *)getRfTime {
|
||||
return self.rfTime;
|
||||
}
|
||||
|
||||
- (void)setRfTime:(NSDate *)rfTime {
|
||||
self.rfTime = rfTime;
|
||||
}
|
||||
|
||||
- (NSNumber *)getBg {
|
||||
return self.bg;
|
||||
}
|
||||
|
||||
- (void)setBg:(NSNumber *)bg {
|
||||
self.bg = bg;
|
||||
}
|
||||
|
||||
- (NSNumber *)getI0 {
|
||||
return self.I0;
|
||||
}
|
||||
|
||||
- (void)setI0:(NSNumber *)i0 {
|
||||
self.I0 = i0;
|
||||
}
|
||||
|
||||
- (NSNumber *)getI1 {
|
||||
return self.I1;
|
||||
}
|
||||
|
||||
- (void)setI1:(NSNumber *)i1 {
|
||||
self.I1 = i1;
|
||||
}
|
||||
|
||||
- (NSNumber *)getI2 {
|
||||
return self.I2;
|
||||
}
|
||||
|
||||
- (void)setI2:(NSNumber *)i2 {
|
||||
self.I2 = i2;
|
||||
}
|
||||
|
||||
- (NSNumber *)getI3 {
|
||||
return self.I3;
|
||||
}
|
||||
|
||||
- (void)setI3:(NSNumber *)i3 {
|
||||
self.I3 = i3;
|
||||
}
|
||||
|
||||
- (NSNumber *)getI4 {
|
||||
return self.I4;
|
||||
}
|
||||
|
||||
- (void)setI4:(NSNumber *)i4 {
|
||||
self.I4 = i4;
|
||||
}
|
||||
|
||||
- (int)getBgCurrent {
|
||||
return self.bgCurrent;
|
||||
}
|
||||
|
||||
- (void)setBgCurrent:(int)bgCurrent {
|
||||
self.bgCurrent = bgCurrent;
|
||||
}
|
||||
|
||||
- (NSNumber *)getK {
|
||||
return self.k;
|
||||
}
|
||||
|
||||
- (void)setK:(NSNumber *)k {
|
||||
self.k = k;
|
||||
}
|
||||
|
||||
- (NSNumber *)getRf {
|
||||
return self.rf;
|
||||
}
|
||||
|
||||
- (void)setRf:(NSNumber *)rf {
|
||||
self.rf = rf;
|
||||
}
|
||||
|
||||
- (NSNumber *)getCurrent {
|
||||
return self.current;
|
||||
}
|
||||
|
||||
- (void)setCurrent:(NSNumber *)current {
|
||||
self.current = current;
|
||||
}
|
||||
|
||||
- (NSDate *)getCurrentTime {
|
||||
return self.currentTime;
|
||||
}
|
||||
|
||||
- (void)setCurrentTime:(NSDate *)currentTime {
|
||||
self.currentTime = currentTime;
|
||||
}
|
||||
|
||||
#pragma mark - NSCoding
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,7 @@
|
|||
@property (nonatomic, strong) IValue *preIValue;
|
||||
|
||||
- (instancetype)init;
|
||||
- (IValue *)getPreIValue;
|
||||
- (void)setPreIValue:(IValue *)preIValue;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
|||
|
|
@ -17,12 +17,6 @@
|
|||
return self;
|
||||
}
|
||||
|
||||
- (IValue *)getPreIValue {
|
||||
return self.preIValue;
|
||||
}
|
||||
|
||||
- (void)setPreIValue:(IValue *)preIValue {
|
||||
self.preIValue = preIValue;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -18,11 +18,7 @@
|
|||
|
||||
- (instancetype)initWithValue:(double)value time:(NSDate *)time;
|
||||
- (instancetype)initWithValue:(double)value index:(int)index;
|
||||
- (double)getValue;
|
||||
- (void)setValue:(double)value;
|
||||
- (NSDate *)getTime;
|
||||
- (void)setTime:(NSDate *)time;
|
||||
- (int)getIndex;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
|||
|
|
@ -29,24 +29,6 @@
|
|||
return self;
|
||||
}
|
||||
|
||||
- (double)getValue {
|
||||
return self.value;
|
||||
}
|
||||
|
||||
- (void)setValue:(double)value {
|
||||
self.value = value;
|
||||
}
|
||||
|
||||
- (NSDate *)getTime {
|
||||
return self.time;
|
||||
}
|
||||
|
||||
- (void)setTime:(NSDate *)time {
|
||||
self.time = time;
|
||||
}
|
||||
|
||||
- (int)getIndex {
|
||||
return self.index;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
Loading…
Reference in New Issue