问题列表 - 第26675页

在应用NSPredicate时投射NSDictionary值?

我有一个NSDictionary对象数组.这些字典是从JSON文件解析的.NSDictionary中的所有值对象都是NSString类型,一个键称为"distanceInMeters".

我曾计划使用NSPredicate过滤这些数组,所以我开始这样:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(distanceInMeters <= %f)", newValue];
NSArray *newArray = [oldArray filteredArrayUsingPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)

我相信如果"distanceInMeters"键的值是NSNumber,这会有效,但因为我从JSON文件中得到它,所以一切都是NSStrings.上面给出了这个错误:****** - [NSCFNumber length]:无法识别的选择器发送到实例0x3936f00***

这是有道理的,因为我刚刚尝试将NSString视为NSNumber.

有没有办法在字典过滤时从字典中转换值,或者可能采用完全不同的方式来解决这个问题?

希望可以有人帮帮我 :)

cocoa nsdictionary nspredicate

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

如何使用SELECT WHERE IN()保持订单?

使用SELECT WHERE IN()时有没有办法保持顺序?例如,使用以下查询:

SELECT id FROM data_table WHERE id IN(56,55,54,1,7);
Run Code Online (Sandbox Code Playgroud)

结果将使用id的默认顺序返回.1,7,54,55,56

当我想保持IN中使用的顺序时:56,55,54,1,7

有没有一种快速的方法在mySQL中执行此操作,或者我将被迫在代码之后对其进行排序.

谢谢 :)

mysql sql database sql-order-by

16
推荐指数
1
解决办法
9083
查看次数

在 php 中使用断言进行类型检查?

我使用异常抛出函数对 php 中的类中的参数进行了一些检查。我有一些函数可以进行基本检查(===in_array)并在 false 时抛出异常。所以我可以assertNumeric($argument, "\\$argument is not numeric.");代替

\n\n
if ( ! is_numeric($argument) ) {\n    throw new Exception("\\$argument is not numeric.");\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

节省一些打字时间

\n\n

我在php 手册页关于assert() 的评论中读到

\n\n
\n

正如维基百科所述 - “断言主要是一种开发工具,当程序向公众发布时,它们通常会被禁用。” \n“断言应该用于记录\n逻辑上不可能的情况,并\n发现编程错误\xe2\x80\x94如果\n\'不可能\'发生,那么\n根本上的事情显然是错误的。这是\n\n与错误处理不同:大多数\n 错误情况都是可能的,\n 尽管有些在实践中极不可能\n 发生。使用\n 断言作为通用错误\n 处理机制通常是不明智的:\n 断言不允许从错误中正常恢复,并且断言失败通常会突然停止程序的执行。断言也不会显示用户友好的错误消息。”

\n\n

这意味着“gk at proliberty dot com”给出的强制启用断言的建议,即使已手动禁用断言,也违背了仅将它们用作开发的最佳实践工具

\n
\n\n

那么,我是不是“做错了”?还有哪些其他/更好的方法可以做到这一点?

\n

php oop assertions

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

有没有办法让TreeView看起来总是完全展开?

我的表单上有一个TreeView,但我希望它始终完全展开,甚至是子节点.

有办法吗?

c# treeview winforms

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

如何在VBA中获取当前工作表的路径?

我写了一个宏作为add = in.我需要获取当前正在执行它的工作表的路径.我该怎么做呢?我如何获取文件路径(只是目录)?

excel vba

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

.NET应用程序作为Windows窗体或控制台应用程序运行

我希望从命令行以编程方式运行我的一个Windows窗体应用程序.在准备中,我将自己类中的逻辑与Form分开.现在我陷入困境,试图让应用程序根据命令行参数的来回来回切换.

这是主类的代码:

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        string[] args = Environment.GetCommandLineArgs();
        if (args.Length > 1) // gets passed its path, by default
        {
            CommandLineWork(args);
            return;
        }         

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

    private static void CommandLineWork(string[] args)
    {
        Console.WriteLine("It works!");
        Console.ReadLine();
    }
Run Code Online (Sandbox Code Playgroud)

Form1我的表单在哪里,It works!字符串只是实际逻辑的占位符.

现在,当从Visual Studio中运行此命令(使用命令行参数)时,短语It works!将打印到输出.但是,当运行/bin/Debug/Program.exe文件(或/ Release)时,应用程序崩溃.

我是以正确的方式来做这件事的吗?让我的逻辑类成为由两个独立应用程序加载的DLL会更有意义(即花费更少的开发人员时间)吗?还是有一些我不知道的完全不同的东西?

提前致谢!

c# console winforms

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

避免与Kohana的会话劫持

我是否必须做一些特殊的事情以避免使用Kohana框架进行会话劫持?我假设会话仅使用Kohana会话库进行操作

kohana session-hijacking

0
推荐指数
1
解决办法
1072
查看次数

Javascript AJAX函数返回undefined而不是true/false

我有一个发出AJAX调用的函数(通过jQuery).在本complete节中,我有一个函数说:

complete: function(XMLHttpRequest, textStatus)
{
    if(textStatus == "success")
    {
        return(true);
    }
    else
    {
        return(false);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样称呼它:

if(callajax())
{
    //  Do something
}
else
{
    // Something else
}
Run Code Online (Sandbox Code Playgroud)

第一个从未被调用过.

如果我alert(textStatus)complete函数中放入一个我得到的,但在该函数返回之前不会undefined.

是否可以将回调函数传递给我的callajax()方法?喜欢:

callajax(function(){// success}, function(){// error}, function(){// complete});

javascript ajax jquery callback return-value

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

我可以将system.serviceModel拆分为单独的.config文件吗?

我想将web.config的system.serviceModel部分分成一个单独的文件,以方便一些环境设置.我的努力没有结果.当我尝试使用这种方法时.wcf代码抛出一个异常:"'System.ServiceModel.ClientBase的类型初始值设定项1引发了异常.任何人都可以告诉我我做错了什么?

Web.config文件:

<configuration>
  <system.serviceModel configSource="MyWCF.config" />
  ....
Run Code Online (Sandbox Code Playgroud)

MyWCF.config:

  <system.serviceModel>
    <extensions>
      ...
    </extensions>

    <bindings>
      ...
    </bindings>

    <behaviors>
      ...
    </behaviors>

    <client>
       ...
    </client>

  </system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

wcf web-config asp.net-3.5

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

使用数据注释进行模型验证的错误消息

鉴于以下课程:

using System.ComponentModel.DataAnnotations;

public class Book{
   public Contact PrimaryContact{get; set;}
   public Contact SecondaryContact{get; set;}

   [Required(ErrorMessage="Book name is required")]
   public string Name{get; set;}
}
public class Contact{
    [Required(ErrorMessage="Name is required")]
    public string Name{get; set;}
}
Run Code Online (Sandbox Code Playgroud)

有没有干净的方式我可以给每个实例的不同错误信息ContactBook使用DataAnnotations?例如,如果PrimaryContact实例中缺少名称,则错误将显示为"需要主要联系人姓名".

我目前的解决方案是创建一个验证服务,检查模型状态是否存在字段错误,然后删除所述错误并使用我喜欢的特定语言将其添加回来.

c# validation asp.net-mvc annotations data-annotations

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