Swift コードを改善するために ReactiveCocoa を検討しています。出発点として、ラベルのテキストをプロパティの変換された値にバインドしたいと思います。基本的に、いくつかの KVO コードを置き換えたいと考えています。したがって、次の変数があります。
@IBOutlet weak var myLabel: UILabel!
var myModel: MyModel
モデルは Objective-C で開発されているため、MyModel
次のようになります。
@interface MyModel : NSManagedObject
@property (nonatomic, retain) NSNumber * value;
@end
したがって、私はこのようなことをしたいと思います:
myLabel.text <~ myProperty.rac_signalForSelector("value")
|> map { (value: NSNumber) in
return "\(value.integerValue + 1)"
}
ただし、これは明らかに機能しません。問題にどのようにアプローチすればよいですか?また、KVO は通常のモデル プロパティでどのように実現されるのでしょうか。
このトピックに関する同様の投稿をすでに見つけました。そこで受け入れられた答えは、ViewModels を使用することを提案しています。ただし、既存の NSManagedObject モデルを ViewModel に置き換える代わりに、XCode を介してモデルを管理し、CoreData を介して保存したいので、モデルを保持したいと考えています。それとも、これはViewModelでも何とか可能ですか? 私は何か重要なものを見逃していますか?