只说当再次调用此代码时,你希望最后的订阅消失。
@RACAutoDispose(@"[key-to-be-unique-in-a-scope]", {
[RACObserve(self, object)
subscribeNext:^(id x) {
// ...
}];
})
@interface ScopeObjectIncludesRACAutoDisposeCode () <RACAutoDisposerProtocol>
否则,将会有警告和未发布的 RACDisposals,这是一个内存问题。
如果你的 @RACAutoDispose 代码在同一个对象中,那么它们就在同一个作用域中。所以在一个相同的作用域中,键是唯一的,以区分每个订阅。
打开 Example/RACAutoDisposer.xcworkspace 并运行它,然后在控制台查看结果。
要运行示例项目,克隆仓库,并首先从 Example 目录执行 pod install
ARC,ReactiveCocoa。
Ryu Heechul,[email protected]
RACAutoDisposer 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。