使用 ReactiveCocoa 和 KVO,如果您订阅了某些内容,它会在您更改绑定的值时立即通知订阅者。假设我的状态取决于 user.firstName 和 user.lastName:
RAC(self.fullName) = [RACSignal
combineLatest:@[RACAble(self.firstName), RACAble(self.lastName)]
reduce:^(NSString* firstName, NSString* lastName) {
return [NSString stringWithFormat:@"%@ %@", firstName, lastName];
}];
self.firstName = @"Bob";
self.lastName = @"Wilson";
self.firstName = @"Amy";
self.lastName = @"Johnson";
// ...
- (void)setFullName:(NSString*)fullName
{
NSLog(@"FULL NAME %@", fullName);
// Bob Wilson
// Amy Wilson
// Amy Johnson
}
只要设置了两个变量,每次我更改or时它都会调用setFullName 。firstName
lastName
我希望它等到更改“确定”才能调用全名,因此,如果我在同一个函数中设置值,它会setFullName
使用最终值调用一次。
我怎样才能做到这一点?