gpt4 book ai didi

ios - 如何在 Reactive Cocoa 中将 NSString 绑定(bind)到 UITextView?

转载 作者:行者123 更新时间:2023-12-01 17:53:42 25 4
gpt4 key购买 nike

我正在构建一个 iOS 社交客户端,在“撰写” View 中,我有一个 UITextView用户输入文本的地方。我想用 ReactiveCocoa 来绑定(bind) textUITextViewNSString数据模型,遵循MVVM。

但是,我遇到了几个问题,都与一个事情有关:RACObserve UITextView 时不会调用 block 的文本以编程方式更改。

(例如:我将文本更改为属性字符串以突出显示#hashtags、@usernames 等,但是当以编程方式更改 View 时不会创建此属性字符串。)

my previous question on this topic ,我得到了一些有用的建议,我应该将 textview 绑定(bind)到模型 - 反之亦然 - 但我不清楚我应该如何使用当前版本的 Reactive Cocoa。 sample code that I've managed to find调用现已弃用的 API。

绑定(bind)rac_textSignal 的合适方法是什么?的 UITextViewNSString (反之亦然),这样我就可以在 UITextView 的内容时可靠地调用代码块被改变(无论是通过编程还是由用户)?

最佳答案

答案取决于 View 模型的 text 之间是否绑定(bind)。和 UITextView小号 text需要是双向的。通常我们尽量远离双向绑定(bind),因为它们变得更难推理。理想情况下,只有一个方向在驱动数据。

所以在这种情况下,你会写这样的东西:

RAC(self.viewModel, text) = [RACSignal merge:@[ 
[self.textView rac_textSignal],
RACObserve(self.textView, text),
]];

这样您就可以了解 UITextView 的更改。小号 text属性,以及来自用户键入的文本更改。

关于ios - 如何在 Reactive Cocoa 中将 NSString 绑定(bind)到 UITextView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031630/

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