小编Jab*_*Jab的帖子

MV-VM设计问题.从ViewModel调用View

我刚刚开始研究MV-VM的WPF应用程序.到目前为止,除了这个特殊问题,一切都有意义......

我有一个ViewModel我会称之为搜索.此ViewModel绑定到数据网格并列出项目的结果.现在,我有一个命令,需要调出另一个视图,项目的详细信息.

将逻辑显示在搜索视图中显示另一个视图似乎不对,它根本不可测试.

这是我的ViewModel实现,它是不可测试的......

public class SearchViewModel
{
   public void SelectItem()
   {
     // I want to call the DetailsView from here
     // this seems wrong, and is untestable
     var detailsView = new DetailsView();
     detailsView.Show();
   }
}
Run Code Online (Sandbox Code Playgroud)

从ViewModel方法显示视图的逻辑在哪里进入这种模式?

c# wpf mvvm

18
推荐指数
2
解决办法
6955
查看次数

关于代表的问题

这段代码非常简单,是否正确?我不知道是否应该保留通过init方法传入的委托.

@interface SomeClass : NSObject {
    SomeClassDelegate *someClassDelegate;
}
-(id)initWithDelegate:(SomeClassDelegate *)delegate;
@end

@implementation SomeClass
-(id)initWithDelegate:(SomeClassDelegate *)delegate
{
    [delegate retain]; // should I be doing this?
    someClassDelegate = delegate;
}
-(void)dealloc
{
    [delegate release]; // obviously only do  this if I DO need to retain it
    [super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud)

我最初的想法是否定的,但是这段代码似乎暗示了其他方面.我知道我不能依赖保留计数,但我想知道处理代表的正确方法.

// self's retain count is 1
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:req delegate:self];
// the retain count is now 2, did the init of URLConnection retain self?
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c

9
推荐指数
1
解决办法
2893
查看次数

命名先前未命名的分支

似乎命名一个以前未命名的分支实际上是行不通的。它创建了一个令人讨厌的多头问题,我找不到解决方案。

这是工作流程...

UserA开始使用他们期望很小的功能,因此他们只是开始使用(default分支机构)。事实证明,这项更改是一个大项目,需要多个贡献者。因此,UserA出现了问题hg branch "Feature1"并继续工作,需要在本地提交。

然后,用户A从中央存储库中提取更改,以便他可以推送。

此时,为什么还要hg heads返回3个头?它显示2代表default和1代表Feature1。第一个标题default是分支上另一个用户的最新更改(无关)。第二default个头是提交之前的hg branch "Feature1"提交。

中央存储库有规则的执行,让每个分支只有1头被允许,所以迫使一推是不是一种选择。回购协议不需要default分支上有多个头。

UserA应该能够推送这些更改,以便其他用户可以看到Feature1分支并提供帮助。我似乎找不到“纠正”此问题的方法。我认为在它是命名分支之前,我无法为该功能重新编写初始提交的分支。

我知道命名分支之前的初始更改在技术上是默认分支,但这是否意味着Feature1在合并该分支之前它们将是正面的?

mercurial

5
推荐指数
1
解决办法
1417
查看次数

标签 统计

c# ×1

cocoa ×1

mercurial ×1

mvvm ×1

objective-c ×1

wpf ×1