gpt4 book ai didi

ios - ReactiveCocoa : How do you bind a button's title to a text property?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:06:35 28 4
gpt4 key购买 nike

我有一个 UIButton,其状态正常/突出显示的标题应与其容器对象的属性保持同步。

如何使用字符串属性为特定状态绑定(bind)按钮标题?

编辑:

我知道使用 RACObserve 并更改 subcribeNext block 中的按钮标题是一种解决方案。
我正在寻找更专门为 UIButton 设计的东西,例如:

RACBindButtonTitle(button, property, state1, state2);

不知道有没有这种“RAC糖”。

最佳答案

这是一种无需显式订阅即可实现的方法。应尽可能避免显式订阅,这样您就不必经历整个 @weakify(self) @strongify(self) 舞蹈。

[self.button rac_liftSelector:@selector(setTitle:forState:)
withSignals:
RACObserve(self, normalButtonTitle),
[RACSignal return:@(UIControlStateNormal)],
nil];
[self.button rac_liftSelector:@selector(setTitle:forState:)
withSignals:
RACObserve(self, selectedButtonTitle),
[RACSignal return:@(UIControlStateSelected)],
nil];

liftSelector:withSignals: 将急切地订阅它的信号,这与许多其他 RAC 函数不同。

关于ios - ReactiveCocoa : How do you bind a button's title to a text property?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30065961/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com