问题列表 - 第13370页

核心数据:如何检查多对多关系的存在

我有一个"歌曲"实体和一个"标签"实体,它们之间有很多关系.歌曲可以有多个标签,标签可以应用于多首歌曲.

我想检查一首歌是否有与之关联的特定标签.如果歌曲中有与之关联的标签,我想在表格视图中显示一个复选标记.

对于类似的逻辑,在Apple"TaggedLocations"示例代码中,进行以下检查以检查是否存在关系.

if ([event.tags containsObject:tag]) {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
}   
Run Code Online (Sandbox Code Playgroud)

如果数据库中有很多标签,这可能效率很低,因为这将在内存中获取所有标签.如果我错了,请纠正我.

有没有更有效的方法来检查歌曲是否与特定标签相关联,而不是检查Song.Tags?

iphone core-data

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

UIColor colorWithPatternImage仅使用一个图像

我试图给出tableviewcell与众不同backgroundColor的东西,colorwithPatternImage并且它没有按预期工作.文档中没有说明一次只能使用一种模式.

假设我有3行,我设置背景如下:

Cell1.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"red.png"]];

Cell2.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"green.png"]];

Cell3.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"blue.png"]];
Run Code Online (Sandbox Code Playgroud)

所有3行都是红色的.就好像有一些全局颜色被返回.

colorWithPatternImagekCGColorSpaceModelPattern 1无论传入什么图像,每次调用都会返回.如果一次只有1个全局模式,那么颜色应该是最后一个,换句话说就是蓝色.

这毫无意义.有没有人对Apple在这里做什么有任何内部专业知识?

编辑 我甚至在完全独立的视图中使用不同的模式,它仍然影响其他视图的模式.我确信,虽然文档没有说明这一点,但你一次只能使用一个UIColor图像模式.伤心.

iphone uitableview uicolor

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

jQuery AJAX轮询JSON响应,基于AJAX结果或JSON内容进行处理

我是一个初学者到中级的JavaScript/jQuery程序员,因此非常感谢具体/可执行的例子.

我的项目需要使用AJAX来轮询返回包含要添加到DOM的内容的JSON的URL,或者使用消息{"status":"pending"}来表示后端仍在使用内容生成JSON响应.这个想法是对URL的第一个请求触发后端开始构建JSON响应(然后缓存),后续调用检查这个JSON是否准备就绪(在这种情况下它是提供的).

在我的脚本中,我需要以15秒的间隔轮询此URL,最多1:30分钟,并执行以下操作:

  • 如果AJAX请求导致错误,请终止脚本.
  • 如果AJAX请求成功,并且JSON内容包含{"status":"pending"},则继续轮询.
  • 如果AJAX请求导致成功,并且JSON内容包含可用内容(即除了""status":"pending"}之外的任何有效响应),则显示该内容,停止轮询并终止脚本.

我尝试了一些方法,但成功有限,但我觉得它们比他们需要的更加混乱.这是一个骨架函数,我成功地使用它来一次制作一个AJAX请求,如果我从JSON响应中获得可用内容,它就能完成它的工作:

// make the AJAX request
function ajax_request() {
  $.ajax({
    url: JSON_URL, // JSON_URL is a global variable
    dataType: 'json',
    error: function(xhr_data) {
      // terminate the script
    },
    success: function(xhr_data) {
      if (xhr_data.status == 'pending') {
        // continue polling
      } else {
        success(xhr_data);
      }
    },
    contentType: 'application/json'
  });
}
Run Code Online (Sandbox Code Playgroud)

但是,除非收到包含可用内容的有效JSON响应,否则此函数当前不执行任何操作.

我不知道该怎么做只是评论.我怀疑另一个函数应该处理轮询,并_根据需要调用ajax request(),但我不知道ajax _request()将其结果传递回轮询函数的最优雅方式,以便它可以适当地响应.

很感谢任何形式的帮助!如果我能提供更多信息,请告诉我.谢谢!

javascript ajax jquery json polling

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

Emacs:写下添加用户指定的键绑定的elisp代码的函数

如何创建一个交互式功能,以交互方式读取用户的密钥(例如,当您按Ch k时),然后写一些这样的行:

(global-set-key (kbd "C-x C-s") 'hello)
Run Code Online (Sandbox Code Playgroud)

其中"Cx Cs"部分用读取键适当替换.

一些初级用户在制作键绑定时遇到问题,事实上我也对此感到困惑,所以我想让我们自动化它.

emacs elisp keyboard-shortcuts

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

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

如果可以在编译时确定Java,则可以保证内联字符串常量

考虑这种情况:

public Class1 {
   public static final String ONE = "ABC";
   public static final String TWO = "DEF";
}

public Class2 {

  public void someMethod() {
    System.out.println(Class1.ONE + Class1.TWO);
  }
}
Run Code Online (Sandbox Code Playgroud)

通常,您会期望编译器内联ONE和TWO常量.但是,这种行为有保证吗?你可以在类路径中没有Class1的运行时Class2部署,并期望它无论编译器如何工作,或者这是一个可选的编译器优化?

编辑:为什么要这样做?好吧,我有一个常量,它将在应用程序的两端(通过RMI的客户端和服务器)之间共享,并且在这种特定情况下将常量放在一个只能位于该除法的一侧的类上是非常方便的(因为它在逻辑上是拥有该常量值的那个而不是将它放在任意常量类中,因为它需要由代码的两端共享.在编译时它的所有一组源文件,但在构建时它被包分开.

java inline constants

18
推荐指数
2
解决办法
5511
查看次数

如何在Rails中计算下一个工作日?

如何计算Rails中的下一个和上一个工作日?

ruby ruby-on-rails

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

检查URL是有效的(来自php soap客户端)

我正在编写一个Web应用程序,允许用户指定SoapClient的URL.我想验证php可以在用户提交表单时连接到客户端.我可以通过try catch或set_error_handler(或两者的某种组合)来做到这一点.但是,对于致命错误,这似乎是不可能的.有没有办法让SoapClent测试一个不会引发不可恢复错误的URL?

Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://example.com/wibble'
Run Code Online (Sandbox Code Playgroud)

我希望它标记一个错误,因为URL不存在,但我希望能够捕获它.

否则我想我可以尝试自己下载并验证URL,但我认为可以从SoapClient中做到这一点.

这应该是致命错误吗?

编辑

在阅读了rogeriopvl的回答之后,我重申我应该说我已经尝试了soapclient构造函数的"例外"选项,并且(在绝望中)使用了use-soap-error-handler函数.

php xdebug soap-client

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

解析proc/pid/cmdline以获取函数参数

我正在尝试使用cmdline中的数据提取调用应用程序的参数.

如果我启动这样的应用程序实例:

myapp 1 2

然后cat我myapp的cmdline我会看到类似myapp12的东西.

我需要提取这些值,并使用这段代码来完成它


pid_t proc_id = getpid();

sprintf(buf,"/proc/%i/cmdline",proc_id);

FILE * pFile;
pFile = fopen (buf,"r");
if (pFile!=NULL)
{
    fread(buf,100,100,pFile);
    cout << "PID " << proc_id << endl;
    string str = buf;
    cout << buf << endl;
    size_t found=str.find_last_of("/\\");
    cout << " file: " << str.substr(found+1) << endl;

    fclose (pFile);
}
Run Code Online (Sandbox Code Playgroud)

但我得到的只是应用程序名称,没有参数......


来自答案的更新:

好吧,我现在的问题似乎是如何在没有停在第一个NULL字符的情况下读取cmdline文件...

fopen(cmdline, "rb")
Run Code Online (Sandbox Code Playgroud)

没有做任何其他事情......

c++ linux procfs

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

retval = false && someFunction(); // someFunction()会被调用吗?

我目前正在使用Diab 4.4 C++编译器.它是一个完全POS,不符合ANSI标准,我在过去发现了它的问题.

我想知道以下问题是编译器的问题,还是我对C++的一个缺点

我意识到x = x && y的形式; 如果x为假,则会使y部分短路.在x = x && y()的情况下,编译器正在做的是短路; 其中y()是非const函数.

class A
{
int _a;
A(int a) { _a = a; }
bool someFunction() { _a = 0; return true; } 
};

main(...)
{
A obj = A(1);
bool retval = false;

retval = retval && A.someFunction();

/* What is the value of A._a here? */
}
Run Code Online (Sandbox Code Playgroud)

我觉得错误的是编译器正在进行这种短路,即使someFunction()不是const函数.如果它不是const,那么当retval为false时,编译器是否通过跳过A.someFunction()来超越其边界?

此外,我意识到可以通过编写retval = A.someFunction()&& retval来避免这个问题; 但我真的很想知道为什么会这样.

c++

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