问题列表 - 第37357页

32
推荐指数
3
解决办法
4万
查看次数

测试使用 after_create 回调的模型规范

这是我正在使用的一个模型,我已将其简化为最简单的形式,但我的示例仍然失败:

class User <  ActiveRecord::Base
  after_create :setup_lists

  def setup_lists
    List.create(:user_id => self.id, :name => "current")
    List.create(:user_id => self.id, :name => "master")
  end
end
Run Code Online (Sandbox Code Playgroud)

我想将示例规范如下:

require 'spec_helper'

describe User do
  before(:each) do
    @user = Factory(:user)
  end

  describe "#setup_lists" do
    before(:each) do  
     List.stub(:create).with(:name => "current")
     List.stub(:create).with(:name => "master")

     it "creates a new master list" do
        List.should_receive(:create).with(:name => "master")
     end

     it "creates a new current list" do
        List.should_receive(:create).with(:name => "current")
     end
  end
end
Run Code Online (Sandbox Code Playgroud)

我期望它会工作得很好,但我留下了以下错误:

Failures:
  1) User#setup_lists creates a new master list
     Failure/Error: …
Run Code Online (Sandbox Code Playgroud)

unit-testing rspec model

4
推荐指数
1
解决办法
2594
查看次数

自定义UITableViewCell和setSelected上的动画:动画:

我有一个UITableViewCell子类,它在drawRect:方法中进行绘制.整个矩形是自定义绘制的,包括背景.我能够在保持滚动非常平滑的同时获得非常复杂的单元格.

我的问题:[table deselectRowAtIndexPath:path animated:YES];每当视图出现时我都会打电话,以便遵守Apple的HIG.但是,不会发生动画.当我有一个透明的自定义视图(用子视图创建)时(当时Apple的背景会出现在下面),它可以工作.现在它没有.

我的drawRect:在"动画时间"中被调用一次,大约一半.我认为这是因为它将单元格的突出显示属性设置为1到0,并且当它降至0.5以下时会捕捉到0.

我该如何设置这种过渡的动画?我的猜测是使用通常的beginAnimations:等,并在我的单元格对象中设置一个自定义浮点字段,从1到0.这会drawRect:反复调用动画吗?

更新 我设法使这几乎工作.我已经覆盖了setSelected:animated:就像这样:

- (void) setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:NO];

    if (animated) {
        [CATransaction begin];
        CATransition* animation = [CATransition animation];
        animation.type = kCATransitionFade;
        animation.duration = 0.6;
        [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
        [view.layer addAnimation:animation forKey:@"deselectRow"];
        [CATransaction commit];
    }
}
Run Code Online (Sandbox Code Playgroud)

如果表格视图在屏幕上,这将完美地工作.但是如果我从导航(返回)返回到表格视图,而不是从选定内容淡入到未选中,则它会从不可见变为未选中.是什么导致这个?

iphone uitableview drawrect ios

3
推荐指数
1
解决办法
1万
查看次数

如果结果存在,则将变量设置为等于结果

这看起来非常冗长,特别是对于长函数名称,有没有更好的方法在Python中执行此操作?

if someRandomFunction():
    variable = someRandomFunction()
Run Code Online (Sandbox Code Playgroud)

编辑:对于更多上下文变量尚未定义,它将是树上的新节点.如果someRandomFunction()返回一个值,我只想创建这个节点.而someRandomFunction()应该从不同类型的树返回某个节点的字符串表示.

python

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

javax.validation.ValidationException:无法找到默认提供程序

我目前正在使用Spring MVC Web应用程序并尝试使用@Valid注释挂钩验证.当我启动应用程序时,我得到以下异常:

javax.validation.ValidationException: Unable to find a default provider
Run Code Online (Sandbox Code Playgroud)

我在类路径上有Hibernate Validator 3.1.0.GA以及javax验证1.0.0.GA,Hibernate Core 3.3.1.GA和Hibernate Annotations 3.4.0.GA.

在那些我没有看到的版本中是否存在不兼容性,或者是否有人会想到为什么我仍然在类路径上使用Hibernate Validator获得此异常的原因?

干杯,

帽子

java spring hibernate-validator bean-validation

32
推荐指数
3
解决办法
9万
查看次数

VisualStudio:将构建版本转换为日历日期

我知道Visual Studio生成的版本字符串基于运行构建的日期/时间.鉴于Visual Studio生成的部分版本字符串"3856.24352",如何将其转换为发生该版本的日历日?

versioning assemblies visual-studio

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

UIWebView - 何时(或如何)发布CFData?

经过多天将我的头撞在墙上并度过了一个不眠之夜,我希望能在这里找到一些帮助.我在这里经历了各种各样的帖子,但没有一个答案似乎为我提供了解决方案.

简而言之,我的问题是我的应用程序在UIWebView大量使用(> 10分钟)后崩溃(例如,逐个打开更大的新闻纸张网站 - 一个接一个).

为了提供更多细节:我正在编写一个iPhone应用程序,并从MainViewController我在navigationController上推送一个browserViewController.browserViewController加载一个包含UWebView的笔尖(我不以编程方式创建WebView).UIWebView使用Interface Builder连接.

当回到Main然后再次访问browserViewController时,我只重新创建了browserViewController(如果它是nil).(我想保留在UIWebView中加载的内容 - 只有在有内存警告时才会卸载此视图并释放所有使用的内存).

在MainViewController和browserViewController中我都在响应内存警告,但这似乎没有提供足够的缓解.

看看仪器,我注意到例如CFData(商店)不断增加.即使我模拟了内存警告(请参阅下面的代码)并在browserViewController上调用viewDidUnload,CFData仍然会被分配并且不会被释放.

所以我最大的问题是:
如何释放"浏览"创建的内存?

这有两种情况:
- 如何确保viewDidUnload正确释放分配了我的CFData(存储)的内存?
- 当用户继续在browserViewController中加载页面时如何释放内存?
.
谁管理CFData?

请参阅下面的简化示例代码:

MainViewController.h

//  MainViewController.h
#import "myAppDelegate.h"
#import "BrowserViewController.h"

@interface MainViewController : UIViewController {
    BrowserViewController *browViewController;
}

- (void) switchToBrowserViewController;

@end
Run Code Online (Sandbox Code Playgroud)

MainViewController.m

//  MainViewController.m
#import "MainViewController.h"

@implementation MainViewController

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    [browViewController release];
    browViewController = nil;
}

- (void)viewDidUnload {
    // Release any retained subviews of the main …
Run Code Online (Sandbox Code Playgroud)

memory-management uiwebview cfdata ios

14
推荐指数
1
解决办法
2091
查看次数

cron如何在内部安排工作?

"现代" cron守护进程如何在内部安排工作?有些人crond习惯于每隔一段时间安排一次跑步at.所以在写完crontab之后,会crond:

  1. 解析所有未来事件的crontab和间隔的睡眠?
  2. 每分钟轮询一个聚合的crontab数据库,以确定当前时间是否与计划模式匹配?
  3. 其他?

谢谢,

unix linux cron scheduler crontab

41
推荐指数
2
解决办法
1万
查看次数

Git和Mercurial - 有人可以解释这个测试结果

我正在对GIT和Mercurial的速度进行比较.
我选择了一个9072文件的大项目(主要是php文件和几个图像),大小为95.1 MB.

这是一个虚假的项目,也许可以让某人知道如何解释我得到的结果 - 这是一个wordpress下载,未更改,并在两个文件夹中复制了12次 - 一个用于GIT,另一个用于Mercurial存储库.

然后我创建一个GIT存储库并提交(使用TortoiseGIT),完成后,我在使用TortoiseHG的Mercurial的另一个文件夹上做了同样的事情.

Git结果
时间:32分30秒提交一切
存储库大小:6.38MB,只有847个文件.

Mercurial结果:
时间:1分25秒 - 是的,它只有1分钟.
存储库大小:58.8MB,包含9087个文件.

我不是在争论最好或者其他什么,我只是想了解差异以及SCM如何创建存储库.

看起来HG做了一些文件的副本,带有某种压缩.
但我不明白Git做了什么.
有人能解释一下结果吗?

PS.:我知道已经有一些关于GIT和Mercurial的问题,我只想弄清楚这个测试的结果 - 即使它是一个有效的测试.当我开始时我只是检查速度,但我最终在我的头顶上留下了一些问号......

git mercurial

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

这个奇怪的方法是什么?

我刚刚阅读了Microsoft Surface Tutorial.有以下C#示例:

private void OnCenterItems(object sender, RoutedEventArgs e)
{
    var x = this.Photos.ActualWidth / 2;
    var y = this.Photos.ActualHeight / 2;
    FindChildren(this.Photos, d => d.GetType() == typeof(ScatterViewItem), 
                          d => ((ScatterViewItem)d).Center = new Point(x,y));
}

private void FindChildren(DependencyObject source, 
                          Predicate<DependencyObject> predicate, 
                          Action<DependencyObject> itemFoundCallback)
{
    int childCount = VisualTreeHelper.GetChildrenCount(source);
    for (int i = 0; i < childCount; i++)
    {
        DependencyObject child = VisualTreeHelper.GetChild(source, i);
        if (predicate(child))
        {
            itemFoundCallback(child);
        }
        FindChildren(child, predicate, itemFoundCallback);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想我或多或少地了解这两种方法正在做什么,但我从未见过像这样的方法调用:

 FindChildren(this.Photos, d => d.GetType() == typeof(ScatterViewItem), …
Run Code Online (Sandbox Code Playgroud)

c# lambda

4
推荐指数
2
解决办法
220
查看次数