例如:
[self.viewModel.titleSignal subscribeNext:^(NSString * title) {
self.title = title;
}];
有循环引用的问题:self->viewModel->titleSignal->block->self,这个时候如果我们不做处理的话,那么self就永远不会被释放。正确的做法应该是使用@weakify(self)和@strongify(self):
所以解决循环引用的正确写法如下:
@weakify(self);
[self.viewModel.titleSignal subscribeNext:^(NSString * title) {
@strongify(self);
self.title = title;
}];