我是FRP和MVVM的新手,但到目前为止它还不错,但我现在遇到一个问题,就是在我的模型上观察一个数组,当它被设置时将它折叠成一个字符串。
RAC(self, tags) = [[RACObserve(self.deal, tags) sequence] foldLeftWithStart:@"" reduce:^id(NSString *accumulator, NSString *value) {
return [NSString stringWithFormat:@"%@#%@ ", accumulator, value];
}];
以上代码暂停了应用。
更新
所以我想通了,这是典型的
RAC(self, tags) = [RACObserve(self.deal, tags) map:^id(NSArray *tags) {
return [[tags rac_sequence] foldLeftWithStart:@"" reduce:^id(NSString *accumulator, NSString *value) {
return [NSString stringWithFormat:@"%@#%@ ", accumulator, value];
}];
}];
但这是最好的方法吗?
答案 0 :(得分:2)
这个怎么样:
RAC(self, tags) = [RACObserve(self.deal, tags) map:^(NSArray *tags) {
return [@"#" stringByAppendingString:[tags componentsJoinedByString:@"#"]];
}];