问题列表 - 第21685页

setValue:forKey:operation?

我很好奇setValue发生了什么:forKey:在下面的代码片段中:它只是将指针设置为指向每个数组,类似于......

[self setMyArray_1: animalArray];
[self setMyArray_2: animalArray];
[self setMyArray_3: animalArray];
Run Code Online (Sandbox Code Playgroud)

另外:setValue:forKey保留数组吗?我猜它确实(如上所​​述)

代码片段:

// INTERFACE
@property(nonatomic, retain) NSArray *myArray_1;
@property(nonatomic, retain) NSArray *myArray_2;
@property(nonatomic, retain) NSArray *myArray_3;

// IMPLEMENTATION
@synthesize myArray_1;
@synthesize myArray_2;
@synthesize myArray_3;

for(counter=1; counter<=3; counter++) {
    NSArray *animalArray = [[NSArray alloc] initWithObjects:@"cat", @"rat", nil];
    NSString *propertyName = [[NSString alloc] initWithFormat:@"myArray_%d", counter];
    [self setValue:animalArray forKey:propertyName];
    [animalArray release];
    [propertyName release];
}
Run Code Online (Sandbox Code Playgroud)

加里

objective-c

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

PHP弃用代码?

大家好

运行PHP版本5.2.11并且我们已经获得了一个我们被告知在早期版本(可能是4个)上运行的站点.

我们有一个奇怪的问题,有几个页面有一堆更新MySql的表单不起作用.问题是更新脚本中使用的变量没有在PHP之前的任何地方定义.例如.

UPDATE users SET FirstName='$form_firstname'WHERE UserID='$id'"
Run Code Online (Sandbox Code Playgroud)

现在,如果我们将其更改为..

$form_firstname = $_POST['form_firstname'];
UPDATE users SET FirstName='$form_firstname'WHERE UserID='$id'"
Run Code Online (Sandbox Code Playgroud)

然后更新工作.我们可以为每个更新语句中定义的每个变量执行此操作,但我认为这看起来必须先前工作,我们正在查看形成这些变量的某些已弃用的代码.我找了

import_request_variables
Run Code Online (Sandbox Code Playgroud)

陈述,但虚无...

任何人都可以想到在新服务器中默认关闭的任何东西会导致这个或者这个变量必须在某个地方声明吗?

干得好极了

php

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

使用PHP和谷歌地图Api计算2个邮政编码之间的距离(英国)

Hay,我想知道如何使用PHP和Google Maps Api计算2个邮政编码之间的距离.

任何人都有任何想法或链接到示例.

php google-maps

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

使用onclick使svg图像对象可单击,避免绝对定位

我试图将我网站上的图像更改imgsvg,更改img标签embedobject标签.但是,实现onclick之前包含在img标签中的功能是最困难的.

我发现onclick放在objectembed标签内没有任何影响.

所以,我div专门为svg 做了一个,放在onclick这个div标签里.但是,除非访问者点击图像的边缘/填充,否则无效.

我已经阅读了有关覆盖a的内容div,但我正试图避免使用absolute定位或指定position.

有没有其他方法可以将onclick应用于svg?

有谁遇到过这个问题?欢迎提出问题和建议.

html css svg

53
推荐指数
6
解决办法
11万
查看次数

用于将Object转换为数字的Java库(Integer,Long等...)

我需要将对象数组转换为Long/Integer.问题是那些对象有时是BigIntegers,有时是BigDecimals,有时甚至是其他东西.有没有很好的图书馆来完成这个?

例如...

for (Object[] o : result) {
    Long l = SomeClass.convertToLong(o[0]);
    Integer i = SomeClass.convertToInt(o[1]);
}
Run Code Online (Sandbox Code Playgroud)

java type-conversion

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

用于在堆转储中查询集合的工具

是否可以查询在堆转储中转储的集合?我显然可以使用Eclipse MAT之类的东西浏览该集合,但是真的很想能够在集合对象上实际调用getter.在ConcurrentHashMap尝试找到我需要的映射时,这显然比通过段更清晰.

我想我正在寻找的是某种方法来"重新水化"命名集合的转储状态,以便可以使用标准API对其进行操作.

有没有人知道任何这样的实用程序,或者,如果没有,有人可以提供一些示例代码或指示如何实现这一点?

java eclipse

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

非静态成员作为C++中的默认参数

我正在重构大量的代码,我必须在一些函数中添加一个额外的参数,这些函数总是具有该对象成员的值.就像是

class MyClass
{
public:
   CMyObject A,B;

   void MyFunc(CMyObject &Object);
   // used to be void MyFunc();
};
Run Code Online (Sandbox Code Playgroud)

现在,我真的很想读它

class MyClass
{
public:
   CMyObject A,B;

   void MyFunc(CMyObject &Object = A);
};
Run Code Online (Sandbox Code Playgroud)

但我不允许有一个非静态成员的默认参数.我已经读过这个类似的问题,这表明这是不可能的,但我想知道是否有任何合理的解决方法.原因是95%的时间将使用默认参数,因此使用默认参数将大大减少我必须更改的代码量.到目前为止,我最好的解决办法是这样的;

class MyClass
{
public:
   CMyObject A,B;

   void MyFunc(BOOL IsA = TRUE);
};

void MyClass::MyFunc(BOOL IsA)
{
    CMyObject &Object = A;
    if (!IsA)
        Object = &B;
}
Run Code Online (Sandbox Code Playgroud)

这不是很优雅,但有没有更好的方法来做到这一点,我错过了?

编辑: FWIW,额外参数的原因是从相关对象外部化一些状态相关成员以帮助多线程.

c++ default-value non-static

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

使用BigDecimal确定小数位数

我有兴趣拥有以下getNumberOfDecimalPlace功能:

System.out.println("0 = " + Utils.getNumberOfDecimalPlace(0));          // 0
System.out.println("1.0 = " + Utils.getNumberOfDecimalPlace(1.0));      // 0
System.out.println("1.01 = " + Utils.getNumberOfDecimalPlace(1.01));    // 2
System.out.println("1.012 = " + Utils.getNumberOfDecimalPlace(1.012));  // 3
System.out.println("0.01 = " + Utils.getNumberOfDecimalPlace(0.01));    // 2
System.out.println("0.012 = " + Utils.getNumberOfDecimalPlace(0.012));  // 3
Run Code Online (Sandbox Code Playgroud)

我可以getNumberOfDecimalPlace通过使用来了解如何实施BigDecimal

以下代码无法按预期工作:

public static int getNumberOfDecimalPlace(double value) {
    final BigDecimal bigDecimal = new BigDecimal("" + value);
    final String s = bigDecimal.toPlainString();
    System.out.println(s);
    final int index = s.indexOf('.');
    if (index < 0) …
Run Code Online (Sandbox Code Playgroud)

java

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

如何在django的每个视图中运行一段代码?

如果授权失败,我需要在我的一个Django应用程序的每个视图中检查用户授权(我不使用Django内置的auth系统)并将用户重定向到"login please"页面.

代码如下所示:

try:
    admin_from_session = request.session['admin'];
    admin = Administrator.objects.get(login = admin_from_session.login, password = admin_from_session.password, enabled=True);
except KeyError, Administrator.DoesNotExist:
    return HttpResponseRedirect('/controlpanel/login')
Run Code Online (Sandbox Code Playgroud)

问题是:如何在每个视图的开头运行此代码,而不是每次都重复?

如果我在PHP上编写我的程序,我会将这些代码放在单独的文件中,并在需要授权的每个页面的开头写下这样的代码:

include("redirect_if_not_logged_in.inc.php");
Run Code Online (Sandbox Code Playgroud)

我找到的解决方案是:

  • 包含标签 - 没有,因为我无法从那里重定向
  • 自定义功能 - 也不做,因为同样的原因.

这项任务似乎微不足道,但我无法找到解决方案.我会非常感谢任何帮助.

python django

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

如何在连续任务中强制执行任务中的异常?

我有一个任务来执行HttpWebRequest使用

 Task<WebResponse>.Factory.FromAsync(req.BeginGetRespone, req.EndGetResponse)
Run Code Online (Sandbox Code Playgroud)

这显然可能会失败WebException.对于调用者我想返回一个Task<HttpResult>where HttpResult辅助类型来封装响应(或不是).在这种情况下,4xx或5xx响应也不例外.

因此,我在请求任务中附加了两个延续.一个与TaskContinuationOptions OnlyOnRanToCompletion另一个OnlyOnOnFaulted.然后将整个事物包裹Task<HttpResult>起来以获取一个结果,无论哪个继续完成.

使用该AttachedToParent选项创建三个子任务(请求加两个延续)中的每一个.

但是当调用者等待返回的外部任务时,AggregateException抛出的是请求失败.

我想,在故障延续中,观察WebException所以客户端代码只能查看结果.添加一个Waiton on fault continuation抛出,但是试一试这个并没有帮助.也不看Exception属性(如节"五合一例外通过使用Task.Exception属性"暗示在这里).

我可以安装一个UnobservedTaskException事件处理程序来过滤,但由于事件没有提供与故障任务的直接链接,这可能会在应用程序的这一部分之外进行交互,并且是一个大锤破解的例子.

鉴于出现故障的情况,Task<T>有没有办法将其标记为"故障处理"?

简化代码:

public static Task<HttpResult> Start(Uri url) {
    var webReq = BuildHttpWebRequest(url);
    var result = new HttpResult();
    var taskOuter = Task<HttpResult>.Factory.StartNew(() => {
        var tRequest = Task<WebResponse>.Factory.FromAsync(
                            webReq.BeginGetResponse,
                            webReq.EndGetResponse,
                            null, TaskCreationOptions.AttachedToParent);
        var tError = tRequest.ContinueWith<HttpResult>( …
Run Code Online (Sandbox Code Playgroud)

.net-4.0 parallel-extensions

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