问题列表 - 第45766页

正在调用 - [NSRunLoop runUntilDate:]一个好主意?

打电话通常是个好主意-[NSRunLoop runUntilDate:]吗?它似乎没有任何问题,但它让我很紧张,告诉运行循环从运行循环内运行.

更多信息:

我现在有一个从REST服务获取数据的项目.需要获得的一个关键信息是具有有效数据的日期范围.它是只需要一次得到的数据非常小一点,所以我决定来处理它的最好办法是让物业下载数据,如果局部变量nil.我正在使用ASIHTTPRequest和一个ASINetworkQueue,所以默认情况下一切都是异步的,为了使这个工作,这个属性在下载和处理数据之前不能返回.这是我的代码的大纲,变量的名称已被更改以保护无辜:

__block BOOL isWorking = YES;
__block ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:/*actual URL*/] autorelease];
[request setCompletionBlock:^{
    // set local variable
    isWorking = NO;
}];
[request setFailedBlock:^{
    // show alert to user
    isWorking = NO;
}];
[queue addOperation:request];

while (isWorking) {
    [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
}
Run Code Online (Sandbox Code Playgroud)

再次,这似乎工作正常.使用这种方法有任何潜在的问题吗?

iphone asihttprequest nsrunloop ipad ios

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

C#getters,setters声明

可能重复:
为什么要使用getter和setter?
C#3.0自动属性 ​​- 有用与否?

以下方式定义属性之间是否存在差异 -

// private, with getter & setter
private string fName;
public string Name
{
    get { return this.fName }
    set { this.fName = value }
}

// define as a Property
public string Name { get; set;}
Run Code Online (Sandbox Code Playgroud)

据我所知,它看起来只是一种风格偏好.我错过了什么吗?

c# syntax getter getter-setter

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

为什么if("string")将"string"评估为true,但if("string"== true)不是?

给出以下代码:

if ("string") {
    console.log('true!');
}
//logs "true" to the console
if ("string"==true) {
    console.log('true!');
}
//doesn't log anything
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我以为"string"是被转换成一个数字,就像布尔一样.因此true变得1"string"NaN.第二个if语句有意义,但我不明白为什么第一个语句会导致内部循环被评估.这里发生了什么?

javascript

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

如何计算运动中UIScrollView的目标contentOffset

我正在使用UIScrollView作为使用核心动画的组件的基础.当用户滑动视图时,我想根据滚动视图的目标(静止)位置来定位元素.为此,我需要在scrollViewWillBeginDecelerating:方法或类似方法中计算UIScrollView的目标contentOffset.

我需要这个的原因是我将使用目标contentOffset将嵌套在scrollview的contentView中的视图设置为最终位置.我当然可以在contentOffset或类似设置上设置观察者,但这会导致混乱动画,因为嵌套视图会在减速期间多次更新其位置.我希望这只发生一次.

有一个简单的方法吗?

iphone cocoa-touch uikit

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

为什么RegExp会在IE8上生成"意外量词"错误?

我有一个Javascript错误已经报告给我,不幸的是我不知道如何重现它.IE8开发人员工具报告以下错误:意外的量词.以下行产生错误:

var g=RegExp(d+"=([^|]*)").exec(j); //output from closure-compiler
Run Code Online (Sandbox Code Playgroud)

我想我必须正确地逃避管道,\\|以解决问题,但我不知道我是否正确,因为我不知道如何重现错误.

欢迎任何建议或解决方案.

谢谢.

[UPDATE]

d__utmz我正在尝试检索的cookie值的键,它们列在这样的数组中["utmccn", "utmcmd", /* ... */].那么现在我没有那么多可以做,我和我的朋友流感在家.

javascript regex

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

在PHPUnit中使用Spy对象?

如何在PHPUnit中使用Spy对象?您可以在模仿中调用对象,然后您可以断言它调用了多少次.这是间谍.

我知道PHPUnit中的"Mock"是Stub Object和Mock Object.

php phpunit spy

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

在Java的三元运算符中,即使表达式导致错误值,也可以评估第一个参数吗?

我最近通过随机ad-hoc测试在我的代码中发现了一个不寻常的错误.所以,我为它做了一个测试用例.

这是我的测试用例:

 SampleRequest request = new SampleRequest();
    request.setA(null);
    request.setB(null);
    assertEquals(null, request.getAOrB());
Run Code Online (Sandbox Code Playgroud)

A和B被定义为java.lang.Integer类型,并具有直接的setter方法来将它们的值设置到请求中.

还涉及一个枚举.它有一个原始整数值,以及在此代码中使用的方法.我会在这里发布相关部分:

enum Swapper {
public int c;
Swapper findSwapperToUse(final int a) {
   for(Swapper swapper : values()) {
       if(swapper.c == a) {
          return swapper;
       }
   }
   return null;
}
}
Run Code Online (Sandbox Code Playgroud)

现在,这是令人困惑的方法.在该方法上调用测试方法会导致NPE,但是在方法的最后一行.

    public class SampleRequest {
    private Integer A;
    private Integer B;

    public void setA(final Integer A) {
        this.A = A;
    }

    public void setB(final Integer B) {
        this.B = B;
    }


public Integer getAOrB() {
    return A != null …
Run Code Online (Sandbox Code Playgroud)

java ternary-operator

13
推荐指数
1
解决办法
4610
查看次数

使用Eclipse和Mercurial进行项目设置

我想在使用Eclipse设置多项目工作区方面提出一些建议.换句话说,我打算创建一些应用程序,它将使用两个或更多项目进行最终构建.项目将存储在某个版本控制系统中.这很容易做到.

我正在寻求的建议是如何设置版本控制或Eclipse工作区以使设置新的开发人员/新机器*非常简单.理想情况下,在新机器上新开发者或开发者将只发出一个命令(的东西:它可能是Eclipse的版本控制系统,一些构建系统,甚至是一个脚本); 该命令将建立一个可以构建代码的环境.

我将使用Java作为语言,使用Mercurial进行版本控制,如果这对解决方案很重要的话.我愿意使用构建系统,尽管我对它们中的任何一个都不熟悉.

基本上,我希望学习

  • 项目应存储在存储库中的位置
  • Eclipse应如何导入或以其他方式发现项目
  • 如何启动上述发现

*在这种情况下,新机器意味着具有必要应用程序的机器(例如Eclipse和TortoiseHg)但没有检查代码或任何工作空间

java eclipse version-control

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

如何在F#中创建类实例并填充属性?

在C#中,我可以:

var n = new Person()
{
     FirstName = "John",
     LastName = "Smith"
};
Run Code Online (Sandbox Code Playgroud)

我可以在F#中做同样的事情吗?我的意思是,创建一个类指定一些属性.

syntax f# c#-to-f#

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

在@property之后装饰一个类方法

我想包装各种对象的每个方法,除了__init__使用装饰器.

class MyObject(object):

    def method(self):
        print "method called on %s" % str(self)

    @property
    def result(self):
        return "Some derived property"

def my_decorator(func):
    def _wrapped(*args, **kwargs):
        print "Calling decorated function %s" % func
        return func(*args, **kwargs)
    return _wrapped


class WrappedObject(object):

    def __init__(self, cls):
        for attr, item in cls.__dict__.items():
            if attr != '__init__' and (callable(item) or isinstance(item, property)):
                setattr(cls, attr, my_decorator(item))
        self._cls = cls

    def __call__(self, *args, **kwargs):
        return self._cls(*args, **kwargs)

inst = WrappedObject(MyObject)()
Run Code Online (Sandbox Code Playgroud)

但是,包装属性实例结果等同于:

@my_decorator
@property
def result(self):
    return "Some …
Run Code Online (Sandbox Code Playgroud)

python metaclass decorator

8
推荐指数
1
解决办法
4791
查看次数