问题列表 - 第48661页

从iOS上的标签栏创建突出按钮

我见过几个带有1个按钮的应用程序,看起来像UITabBar突出到框架外面.

如何做这样的事情?我们非常感谢您阅读的代码示例/教程建议.

这是我见过的应用程序中的一张照片.

在此输入图像描述

iphone

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

Java中的静态类有什么用?

我已经读过我可以定义一个类static,但我不明白为什么我可能需要这样做.静态类有什么用?我什么时候需要使用它们?我会很感激的例子.

java static class

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

jQuery只在SUBMIT验证规则

假设我有一个查找城市,州位置的表单.如果用户输入了错误的城市,状态,我希望表单能够根据用户输入检查数据库,并查看输入是否有效.如果不是,我希望用户提示.

因此,表单Validate是我的插件.

$("#form").validate({
    rules: {
       citystate: {
           required: true,
           myCustomAjaxSyncronousCheckAgainstDBRule: true
       }

    submitHandler: function(form) {
        if ($("#form").valid()) {
            form.submit();
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

现在说这个表单必须在我的网站的4个不同的地方使用,所以很难重构myCustomAjaxSyncronousCheckAgainsDBRule(伪名称btw)并在我的网站上有4次相同的代码.这就是我在JS文件中创建自定义规则的原因.但有没有办法只能在提交时检查规则.因为如果用户输入无效,它将在每次击键时检查它,这可能非常麻烦.特别是因为我有jQuery.ui.autocomplete运行unjuction.

jquery jquery-validate

27
推荐指数
6
解决办法
5万
查看次数

自定义C++断言宏

我偶然发现了一篇内容丰富的文章:http://cnicholson.net/2009/02/stupid-c-tr​​icks-adventures-in-assert/ ,它指出了我当前的调试宏套件中存在的大量问题.

如果您点击链接,则会在文章末尾附近给出宏的最终版本的完整代码.

提出的一般形式是这样的(如果我在转置它时错误,请有人纠正我):

#ifdef DEBUG
#define ASSERT(cond) \  
    do \  
    { \  
        if (!(cond)) \  
        { \  
            ReportFailure(#cond, __FILE__, __LINE__, 0); \
            HALT(); \
        } \  
    } while(0)  
#else  
#define ASSERT(cond) \  
    do { (void)sizeof(cond); } while(0) 
Run Code Online (Sandbox Code Playgroud)

在考虑使用我所学的内容修改代码时,我注意到该文章的评论中发布了一些有趣的变体:

一个是你不能将这个宏与三元运算符(即cond?ASSERT(x):func())一起使用,并且建议if()用三元运算符和一些括号以及逗号运算符替换它.后来另一位评论者提供了这样的:

#ifdef DEBUG
#define ASSERT(x) ((void)(!(x) && assert_handler(#x, __FILE__, __LINE__) && (HALT(), 1)))
#else
#define ASSERT(x) ((void)sizeof(x))
#endif
Run Code Online (Sandbox Code Playgroud)

&&在这种情况下,我认为使用逻辑并且特别聪明,在我看来,这个版本比使用if甚至三元的版本更灵活?:.更好的是返回值assert_handler可用于确定程序是否应该停止.虽然我不确定它为什么(HALT(), 1)而不仅仅是HALT().

我忽略了第二个版本是否存在任何特殊缺点?它消除了do{ } …

c++ macros assert

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

分析和优化编译

我项目的编译时间很长,我想尽可能减少这个.但是,现在我只是浏览我的项目并试图在纯粹的直觉上删除编译重的东西.

我希望能够在某种程度上剖析我的编译,这将为我提供有用的信息,我可以用它来确定我的编译时间大部分时间.

我已经尝试在Visual Studio中启用"Build Timing",但是这并没有给出比编译器执行的不同任务的时间更多的信息,因为知道大部分时间花在"CL"上并不是很有帮助.

有没有办法在较低级别(例如行或文件时间)分析编译?

c++ visual-studio-2010

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

VS 2010与VS 2008中optionalAttribute(用于声明可选参数)行为的差异

一个简单的C#方法,带有一个使用OptionalAttribute声明的可选参数

namespace  ClassLibrary11
{
   public class Class1
   {
      public int Foo(int a, int b, [Optional] int c)
      {
         return a + b + c;
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

在VS 2010上.按预期obj.Foo(3,4)输出7.但不是在VS 2008或之前,除非使用DefaultParameterValue属性提供某些默认值.因此,Foo(3,4)在VS2008上或之前调用会导致错误:

Object of type 'System.Reflection.Missing' cannot be converted to type 'System.Double'

在VS 2008和VS 2010上,如果使用反射来调用方法Foo,那么如果没有为可选参数提供默认值,则会抛出相同的错误.

ClassLibrary11.Class1 cls = new ClassLibrary11.Class1();
MethodInfo mi = typeof(ClassLibrary11.Class1).GetMethod("Foo");
Object[] objarr = new Object[] {1,2, Missing.Value}; 
Object res = mi.Invoke(cls, objarr);
Run Code Online (Sandbox Code Playgroud)

所以问题是:

那么VS 2010编译器如何负责将默认值分配给可选参数,但框架4.0不通过反射?

.net c#

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

将原始数组转换为Object并返回

我有这个

int [] abc = new int[30];

Object arr = abc;
Run Code Online (Sandbox Code Playgroud)

我如何施展arrint[]?即

int [] foo = (int[])arr
Run Code Online (Sandbox Code Playgroud)

另外,如果arr可以指向int[]或者byte[],如何区分它们?

我检查arr.getClass().getName()的回报[Iarr.getClass().isPrimitive()false.必须是另一种检测它的方法吗?

谢谢.

PS.我必须在我的数组中使用原始类型.

java arrays

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

C++避免了const和非const访问的代码重复

我有一个类应该为每个成员变量调用一个访问者方法.像这样的东西:

class A{
    int a, b, c;

public:
    void accept(Visitor &visitor){
        visitor.visit(a);
        visitor.visit(b);
        visitor.visit(c);
    }
};
Run Code Online (Sandbox Code Playgroud)

如何void accept() const在没有代码重复的情况下使用相同的代码获取方法?

重复的显而易见的解决方案是添加一个方法:

void accept(Visitor &visitor) const {
    visitor.visit(a);
    visitor.visit(b);
    visitor.visit(c);
}
Run Code Online (Sandbox Code Playgroud)

该方法具有我想要的含义,但我想避免代码重复.拥有这两种方法的原因是能够通过"阅读"访问者读取变量并accept很好地使用该方法const.然后非const accept将可用于"写入/更新"访问者.

c++ const-correctness visitor-pattern

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

ANTLR:从CommonTree到有用的对象图

我今天开始使用ANTLR,并且我已经创建了一个基本的解析器.

解析后,我最终得到了一棵树.对我来说,似乎这只是String在一组树形结构中放在一起的Tree-nodes.这对我来说不是很有用.我想要一个对象图.

澄清(这是一个例子,而不是我真正的应用程序):因为"5-1+6"我似乎最终得到:

new String("PLUS")
    new String("MINUS")
        new String("5")
        new String("1")
    new String("6")
Run Code Online (Sandbox Code Playgroud)

我会发现更有用的东西:

new Plus(
    new Minus(
        new IntegerLiteral(5),
        new IntegerLiteral(1)),
    new IntegerLiteral(6))
Run Code Online (Sandbox Code Playgroud)

从第一个表示到另一个表示最方便的方法是什么?在本文中,作者做了类似的事情:

public Expression createExpr(CommonTree ast) {

    // ...

    switch (ast.getType()) {
    case SimpleExpressionParser.INT:
        return new IntegerLiteral(ast.getText())
    case SimpleExpressionParser.PLUS:
        return new Plus(createExpr((CommonTree)ast.getChild(0)),    // recurse
                        createExpr((CommonTree)ast.getChild(1)));   // recurse
    case SimpleExpressionParser.MINUS:
        return new Minus(createExpr((CommonTree)ast.getChild(0)),   // recurse
                         createExpr((CommonTree)ast.getChild(1)));  // recurse
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

这是首选方式吗?!我不能指示ANTLR以某种方式生成这个样板代码(它会是巨大的)吗?


可能相关的问题:

java antlr

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

javascript switch语句不起作用

嗨,我有一个switch语句,它在9或更少的情况下工作正常,如下所示

    function checkBoxes(obj) {
            var indx = obj.id.substring(obj.id.length-1, obj.id.length);
            switch ( indx ) {
                case '1':

                    if (document.sportsInfo.Info_1.checked) {

                        document.sportsInfo.Info_2.disabled = true;
                        document.sportsInfo.Info_2.checked = false;                     
                        document.sportsInfo.Info_3.disabled = true;
                        document.sportsInfo.Info_3.checked = false;
                        document.sportsInfo.Info_4.disabled = true;
                        document.sportsInfo.Info_4.checked = false;
                        document.sportsInfo.Info_5.disabled = true;
                        document.sportsInfo.Info_5.checked = false;
                        document.sportsInfo.Info_6.disabled = true;
                        document.sportsInfo.Info_6.checked = false;
                        document.sportsInfo.Info_7.disabled = true;
                        document.sportsInfo.Info_7.checked = false;
                        document.sportsInfo.Info_8.disabled = true;
                        document.sportsInfo.Info_8.checked = false;
                        document.sportsInfo.Info_9.disabled = true;
                        document.sportsInfo.Info_9.checked = false;
                        document.sportsInfo.Info_10.disabled = true;
                        document.sportsInfo.Info_10.checked = false;
                        document.sportsInfo.Info_11.disabled = true;
                        document.sportsInfo.Info_11.checked = false;
                        document.sportsInfo.Info_12.disabled …
Run Code Online (Sandbox Code Playgroud)

javascript case switch-statement

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