小编Rog*_*son的帖子

Eclipse说:"工作区正在使用或无法创建,选择了另一个."如何解锁工作区?

当我开始时,Eclipse说"工作区无法锁定"

"无法启动产品,因为关联的工作区当前正由另一个Eclipse应用程序使用." 或"正在使用或无法创建工作区,选择不同的工作区".

但我知道事实并非如此.

我如何"解锁"它?

eclipse

288
推荐指数
6
解决办法
18万
查看次数

Emacs,切换到上一个窗口

在Emacs中,C-x o带我到下一个窗口.

什么键盘宏将我带到Emacs的上一个窗口?

emacs

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

Java可以帮助我避免equals()中的样板代码吗?

我实现了Java 7方式的equals():

@Override
public boolean equals(Object obj)
{
    if (this == obj) return true;
    if (obj == null) return false;
    if (getClass() != obj.getClass()) return false;
    MyClass other = (MyClass) obj;
    return Objects.equal(myFirstField, other.myFirstField) &&
           Objects.equal(mySecondField, other.mySecondField);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法减少代码重复?

我更喜欢类似的东西

@Override
public boolean equals(Object obj)
{
    if (Objects.equalsEarlyExit(this, obj)) return Objects.equalstEarlyExitResult(this, obj);
    MyClass other = (MyClass) obj;
    return Objects.equal(myFirstField, other.myFirstField) &&
           Objects.equal(mySecondField, other.mySecondField);
}
Run Code Online (Sandbox Code Playgroud)

或类似的.

java equals boilerplate

10
推荐指数
1
解决办法
932
查看次数

UITextView在iPhone中隐藏键盘

我想在用户按下UITextViewiphone 中的对象返回时隐藏键盘.然而,神秘的是,这不适用于UITextView工作UITextField.我无法弄清楚为什么......

这就是我做的:

1)我在XCode4中创建了一个基于视图的应用程序.

2)在.xib中创建UITextView,UITextFieldUIButton对象

3)在Outlets中标记两者UITextFieldUITextView委托给File的所有者

4)<UITextFieldDelegate>在.h中添加到@interface UIViewController

5)textFieldShouldReturn在.m中添加了功能

以下是代码:

.h文件

@interface keyboardDisappearViewController : UIViewController <UITextFieldDelegate>
{

    UITextView *textBoxLarge;
    UITextField *textBoxLittle;
}
@property (nonatomic, retain) IBOutlet UITextView *textBoxLarge;
@property (nonatomic, retain) IBOutlet UITextField *textBoxLittle;

- (IBAction)doSomething:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)

.m文件

- (BOOL) textFieldShouldReturn:(UITextField *)theTextField 
{
    NSLog(@"textFieldShouldReturn Fired :)");
    [textBoxLarge resignFirstResponder];
    [textBoxLittle resignFirstResponder];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,在textBoxLittle(UITextField)的情况下,键盘正在消失,但在textBoxLarge(UITextView)的情况下却没有

作为进一步检查我,按钮调用函数doSomething

- (IBAction)doSomething:(id)sender {
    [textBoxLarge resignFirstResponder]; …
Run Code Online (Sandbox Code Playgroud)

iphone xcode objective-c keyboard-events ios

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

我应该为Adapter Pattern适配器使用什么类名?

让我们假设我有一个类SomethingDAO,我需要适应一个接口SomethingProvider.

我该怎么称呼适配器类?

naming adapter

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

我应该在iOS/Objective-C中使用哪种布尔类型?

看起来有四种选择.

  1. BOOL

  2. 布尔

  3. 布尔

  4. boolean_t

我应该使用哪一个?

似乎也有两种假的定义.

我应该使用哪一个?

types ios

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

为什么EclEmma没有覆盖同步(MyClass.class)?

我正在使用EclEmma进行覆盖率分析.

我的Java代码包含synchronized(MyClass.class){}块.

EclEmma说它只是部分覆盖,虽然我有一个单元测试,其中一个线程获得访问而另一个线程被阻止.

是否有可能使用EclEmma完全覆盖同步?

我可以用某种方式注释代码来告诉EclEmma让这条线完全覆盖吗?

亲切的问候罗杰

java concurrency code-coverage emma synchronized

7
推荐指数
1
解决办法
1922
查看次数

当我重构时,如何确保不破坏测试代码?

代码不断发展,如果没有修剪,它也会衰减,在这方面有点像花园.修剪意味着重构以使其实现其不断发展的目的.

如果我们有良好的单元测试覆盖率,重构会更安全.测试驱动的开发迫使我们在生产代码之前首先编写测试代码.因此,我们无法测试实现,因为没有.这使得重构生产代码变得更加容易.

TDD周期是这样的:编写测试,测试失败,编写生产代码直到测试成功,重构代码.

但是从我所看到的,人们重构生产代码,而不是测试代码.随着测试代码的衰减,生产代码将变得陈旧,然后一切都走下坡路.因此,我认为有必要重构测试代码.

问题在于:如何确保在重构​​时不破坏测试代码?

(我已经采用了一种方法,https://thecomsci.wordpress.com/2011/12/19/double-dabble/,但我认为可能有更好的方法.)

显然有一本书,http://www.amazon.com/dp/0131495054,我还没有读过.

还有一个关于此的Wiki页面http://c2.com/cgi/wiki?RefactoringTestCode,它没有解决方案.

tdd refactoring unit-testing

7
推荐指数
1
解决办法
468
查看次数

如何扩展NSArray?

这是我的尝试:

H文件:

@interface Strings : NSArray
@end
Run Code Online (Sandbox Code Playgroud)

M文件:

@implementation Strings
- (id) init
{
    [self initWithObjects:
     @"One.",
     nil];
    return self;
}
@end
Run Code Online (Sandbox Code Playgroud)

我跑的时候得到这个:

'NSInvalidArgumentException',原因:' * - [NSArray initWithObjects:count:]:仅为抽象类定义的方法.定义 - [Strings initWithObjects:count:]!'

这就是我所做的:

H文件:

@interface Strings : NSObject
+ (NSArray*) getStrings;
@end
Run Code Online (Sandbox Code Playgroud)

M文件:

@implementation Strings
+ (NSArray*) getStrings
{
    NSArray* strings = [[NSArray alloc] initWithObjects:
     @"One.",
     nil];
    return strings;
}
@end
Run Code Online (Sandbox Code Playgroud)

objective-c extend nsarray ios

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

使用AdMob时是否必须拥有IDFA?

我已成功将插页式广告添加到我的应用中,我即将提交以供审核.

我必须使用IDFA传递吗?

admob ios idfa

6
推荐指数
1
解决办法
9042
查看次数