jjzjj

viewModel

全部标签

让ViewModel将孩子添加到其视野中是正确的吗?

我目前正在学习WPF中的MVVM模式。我认为这真的很酷,但是我的问题是:直接将ViewModel直接用于​​附加孩子的视图是正确的吗?例如,让我们假设我们有一种包含一个循环的方法,该循环在单击按钮时将新行添加到网格中。我的ViewModel应该仅包含纯数据,还是还包含用于将新元素放置在现场的逻辑?以及删除它们。看答案直接将ViewModel直接用于​​将儿童附加到其视图上是正确的吗?否。视图模型不应该知道任何视图元素。我的ViewModel应该仅包含纯数据,还是还包含用于将新元素放置在现场的逻辑?以及删除它们。前者。视图模型可以公开视图恰好在一个中显示的数据对象的集合Grid。或其他类型的面板

ios - 构建应用程序以使用带有 ReactiveCocoa 的 ViewModel

我开始使用ReactiveCocoa。简单的东西说得通,复杂的我还做不到。;)这就是我要建模的内容:我有一个ViewController,它显示从HTTP端点请求的一些数据。HTTP端点使用带有cookie的类似浏览器的基本身份验证。所以,我想发出HTTP请求。如果成功,很好,显示数据。如果失败并显示401,我需要告诉View弹出一个模态对话框询问用户名/密码,然后重试HTTP请求。那么,在我的ViewModel中,我有两个信号吗?一个返回内容,另一个告诉View层我需要凭据?如何将凭据返回到HTTP请求发生的位置? 最佳答案 您的

ios - 如何在 RAC MVVM 中正确分离 ViewModel 和 ViewController

我刚刚开始更新我的ReactiveCocoa应用程序以使用MVVM模式,并且有几个关于ViewController和ViewModel之间的边界以及ViewController应该有多笨的问题。我要更新的应用程序的第一部分是登录流程,其行为如下。用户输入电子邮件地址、密码并点击登录按钮一个成功的响应包含一个或多个User模型这些User模型与注销按钮一起显示必须在登录View关闭并显示主视图之前为session选择一个用户模型。MVVM之前LoginViewController直接处理LoginButton命令LoginButton命令直接与SessionManager对话LoginV

iOS:在 ViewModel(来自 MVVM)和 Presenter(来自 MVP)中使用 UIImage

我正在尝试了解MVVM和MVP架构设计。我决定使用不同的设计方法编写简单的单屏应用程序。关于示例应用的几句话:这是一个简单的图片加载器流程:使用来自500px的图片加载JSON->在UICollectionView中显示单元格取决于返回的JSON中的图片计数->逐渐下载图片并在单元格中显示它我在3种架构设计下实现的相同应用程序MVVM、MVC和MVP在我需要下载图像并显示它们之前,一切都进行得很顺利。最初我认为处理这种逻辑和缓存图片的最佳位置是ViewModel(来自MVVM)和Presenter(来自MVP)但是据我所知这两个实体应该独立于UI层,但是如果我们想在那里使用UIImag

MVVM下的Jetpack核心组件

前言Jetpack架构组件及“标准化开发模式”确立,意味着Android开发已步入成熟阶段,只有对MVVM确有深入理解,才能自然而然写出标准化、规范化代码。本次笔者会浅入浅出的介绍以下内容,由于它是一个我的学习总结记录,所以比较适合对MVVM不是很熟悉,但又想了解下全貌的读者:JetpackMVVMJetpackLifecycleJetpackLiveDataJetpackViewModelJetpackDataBindingJetpackMVVM在正文开始前,先回顾下MVP:MVP,Model-View-Presenter,职责分类如下:Model,数据模型层,用于获取和存储数据。View,

沉思篇-剖析Jetpack的ViewModel

ViewModel做为架构组件的三元老之一,是实现MVVM的有力武器。ViewModel的设计目标ViewModel的基本功能就是管理UI的数据。其实,从职责上来说,这又是对Activity和Fragment的一次功能拆分。以前存储在它们内部的数据,需要它们自己处理创建,更新,存储,恢复的所有过程,同时它们还要处理UI的数据绑定,更新,动画等操作。职责的多元化就容易出现不好定位和调试的问题。另外,Activity和Fragment作为UI的承载者,很多时候需要共享数据和复用功能。而UI的差异让复用的粒度划分很难把控,容易写出扩展性差的代码。基于这些痛点,ViewModel被设计出来了。同时Vi

swift - 关联类型符合协议(protocol)和依赖注入(inject)问题

我正在研究依赖注入(inject),目前正在更新我的项目以利用它。但是,我在关联类型和协议(protocol)符合方面遇到了问题。我创建了一个快速演示项目,并创建了一些协议(protocol)和扩展,以便符合我的协议(protocol)ViewModelBased的ViewController必须实现关联类型。理想情况下,我希望此关联类型符合viewModel。这是我目前所拥有的protocolViewModel{associatedtypeServicesinit(withServicesservices:Services)}protocolViewModelBased:class{

ios - Swift:构建还是不构建

我终于从Objective-C转向了Swift。我正在为我的客户创建一个View布局系统,使他们的应用程序在布局上更加灵活,而不使用自动布局,因为他们想远程设计他们的屏幕,而自动布局对他们来说太复杂了。我尝试使用structs和protocols来做到这一点,但我发现它很笨拙,所以我怀疑我没有以正确的方式思考它。对于类,结构如下:classViewModel{varframe:CGRect=.zero}classViewGroupModel:ViewModel{varweight:Int=1varchildren:[ViewModel]=[ViewModel]()}classHoriz

swift - 我们可以在 Swift 中创建具有非可选属性的类型删除弱引用吗?

一些背景类型删除容器是Swift中的有用结构,因为它目前无法支持传递泛型类型参数。社区对此有一些很好的解释:http://www.russbishop.net/type-erasurehttps://realm.io/news/tryswift-gwendolyn-weston-type-erasure/https://www.bignerdranch.com/blog/breaking-down-type-erasures-in-swift/这是一个例子:protocolView:class{associatedtypeViewModel:EquatablevarviewModel:

ios - 如何知道 ViewModel 中单个 map 的完成?

我在ViewModel中有一个函数,它从网络文件中获取一些数据作为Single。在viewModel中,我使用map将其转换为不同的模型并将其返回给ViewController。此映射/转换完成后,我想更新ViewModel中的BehaviorRelay对象,以告知其订阅者下载已完成。我无法更新此BehaviorRelay对象。我试图在函数中添加一些代码,但在return语句中出现错误。varshowLoading=BehaviorRelay(value:true)funcgetPropertyList(citycityID:String)->Single{returnproperty