问题列表 - 第46263页

如何访问本机对象调用的函数中的实例?

我承认我已经问了一个关于this关键字及其在某些情况下意味着什么的问题,但我仍然不完全理解它,我害怕.任何提示将不胜感激.

我基本上有一个Socket类,它是HTML5的WebSocket类的包装器,使事情变得更容易(我只复制了与我的问题相关的内容):

var Socket = function(url) {
    this.url = url;
    this.webSocket = null;
}

Socket.prototype.init = function() {
    this.webSocket = new WebSocket(this.url);
    this.webSocket.onmessage = this.parseMessage;
};

Socket.prototype.parseMessage = function(event) {
    console.log(this); // logs the WebSocket (native) instance
}
Run Code Online (Sandbox Code Playgroud)

在parseMessage函数中,this引用本机WebSocket对象的实例,那么如何Socket在此处访问实例到我的对象?

非常感谢.

javascript this instance

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

为什么有java单例类?你什么时候需要使用一个

我理解单例类只能有一个实例,但我不明白为什么这个有用.为什么不只是创建一个包含静态变量和方法的类,并在需要时使用synchronize以确保没有两个线程同时在类中执行方法.我只是不明白为什么有人会经历创造这种类的麻烦.我知道我在这里遗漏了一些东西.

谢谢,

java singleton design-patterns

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

使用MacRuby开发iPhone应用程序

我正在寻找构建iPhone应用程序,但我没有足够的时间来学习Objective-C.我已经了解Ruby并发现了MacRuby.是否可以单独使用MacRuby构建iPhone应用程序,而不了解Objective-C?

iphone macruby

22
推荐指数
3
解决办法
5682
查看次数

Drupal 7 - 将字段描述放在字段上方

默认情况下,在Drupal 7中,字段描述显示在字段下方.无论如何将它们移到场上?

在Drupal 6中,您可以将以下代码粘贴到template.php中以移动描述.但是,代码在Drupal 7中不起作用:

/**
 * Place CCK Options above field .
 */

function ThemeNAME_form_element($element, $value) {
  $output  = ' <div class="form-item"';
  if(!empty($element['#id'])) {
    $output .= ' id="'. $element['#id'] .'-wrapper"';
  }  
  $output .= ">\n";
  $required = !empty($element['#required']) ? '<span class="form-required" title="'.t('This field is required.').'">*</span>' : '';

  if (!empty($element['#title'])) {
    $title = $element['#title'];
    if (!empty($element['#id'])) {
      $output .= ' <label for="'. $element['#id'] .'">'. t('!title: !required', array('!title' => filter_xss_admin($title), '!required' => $required)) ."</label> \n";
    }
    else {
      $output .= ' <label>'. …
Run Code Online (Sandbox Code Playgroud)

drupal drupal-7 drupal-theming

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

是否有可能以更快的方式执行此SELECT查询?

更新(根据每个人的回复):

我正在考虑改变我的结构,以便我有一个名为prx_tags_sportsitems的新表.我将完全删除prx_lists.prx_tags_sportsitems将作为ID表的引用来替换prx_lists.ListString,该prx_lists.ListString曾用于存储属于每个prx_sportsitem的标签的ID.

新关系将是这样的:

  • prx_tags_sportsitems.TagID < - > prx_tags.ID
  • prx_sportsitems.ID < - > prx_tags_sportsitems.OwnerID

prx_tags将包含TagName.这样我仍然可以将每个"标签"维护为一个单独的唯一实体.

我查找所有标有"有氧"标签的sportsitems的新查询将类似于以下内容:

SELECT prx_sportsitems.* FROM prx_sportsitems, prx_tags_sportsitems
WHERE prx_tags_sportsitems.OwnerID = prx_sportsitems.ID 
AND prx_tags_sportsitems.TagID = (SELECT ID FROM prx_tags WHERE TagName = 'aerobic')
ORDER BY prx_sportsitems.DateAdded DESC LIMIT 0,30;
Run Code Online (Sandbox Code Playgroud)

或许我可以用"IN"条款做点什么,但我还不确定.

在我对脚本进行这么大的修改之前,每个人都赞成吗?评论?非常感谢!

原始邮寄:

说到MYSQL查询,我很新手.当我最初设计我的数据库时,我做了一些相当愚蠢的事情,因为它是我能找到的唯一解决方案.现在我发现它似乎对我的MYSQL服务器造成了太大的压力,因为执行每个查询需要0.2秒,我相信如果它是一个更好的查询可能更像0.02秒(或表设计,如果它来吧!).我想避免需要重建我的整个网站结构,因为它的设计方式与目前的方式非常相似,所以我希望有更快的mysql查询.

我的数据库中有三个表:

  1. 体育项目表
  2. 标签表
  3. 列表

每个体育项目都分配有多个标签名称(类别).每个"标签"都作为单独的结果存储在prx_tags中.我在prx_sportsitems中为体育项创建prx_lists中的"列表",并通过链接到prx_sportsitems.ID的prx_lists.OwnerID链接它们.

这是我当前的查询(查找所有标记为"有氧"的体育项目):

SELECT  prx_sportsitems.* 
FROM    prx_sportsitems, prx_lists 
WHERE   prx_lists.ListString LIKE (CONCAT('%',(SELECT prx_tags.ID 
                                               FROM prx_tags
                                               WHERE prx_tags.TagName = 'aerobic'
                                               limit 0,1),'#%')) 
 AND    prx_lists.ListType = 'Tags-SportsItems' 
 AND    prx_lists.OwnerID = prx_sportsitems.ID
 ORDER BY prx_sportsitems.DateAdded …
Run Code Online (Sandbox Code Playgroud)

mysql sql database query-optimization

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

Android游戏开发(编程/算法)问题

我有一堆物体(气球)向上移动,撞到屋顶(即object.yPos <= 0),然后停下来.跟随他们的气球击中现有的气球并停下来.现在,我在气球上射击并移除那些被击中的球......如果它们已经在底部那么容易.然而,我还必须移除那些在其支撑锚被击中并被移除后悬挂的气球,即它们不再连接到屋顶或任何其他球.与此相关,我在我的Balloon对象中有以下支持方法:

balloon.getAdjacentList() - >返回附加到气球的所有气球的ArrayList

balloon.getX() - >返回气球的X Pos

balloon.getY() - >返回气球的Y Pos

我能想到的一种检测"悬空"气球的方法是使用DFS或BFS的"图形遍历",其中原点将是被击中(并被移除)的一个相邻球,目的地将是...如果任何相邻的球(或"相邻的相邻"球或"相邻的相邻"球等)具有getY()<= 0,即找到通向屋顶的路径.

这项检查似乎非常昂贵,特别是在移除一个或两个吊球时,我必须进行数十次搜索.还要记住,从理论上讲,一个气球可能还有许多其他气球,并且仍然有它的锚(支撑它们全部到屋顶的那个)撞击和移除,因此所有它们都必须......所以... if(getAdjacent().size()== 0)不起作用.

1-有什么更好的想法,看起来很容易想象,并在如此多的游戏中实现?2-我可以添加哪些支持方法来帮助我检测球?

在此先感谢您的帮助

java algorithm android

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

有关NSApp的ModalForWindow,NSAlert的ModalForWindow和ModalSession的提示

我花了相当多的实验来澄清对Objective-C的"ModalForWindow"语言的一些混淆,以及随后如何使用模态会话.也许以下提示可以节省一些时间:

(如果您不熟悉这个概念:当一个窗口,通常是一个面板,运行模态时,它会阻止应用程序的其他部分响应,直到它被解除.)

"ModalForWindow"在不同的情况下意味着不同的东西.如果您使用loadNibNamed显示由xib定义的面板并且您希望它运行modal,请在显示后调用它:

// Make panelReviewImports modal, so that no other part of app will respond.
[[NSApplication sharedApplication] runModalForWindow:self.panelReviewImports];
Run Code Online (Sandbox Code Playgroud)

并在其解雇方法中采取以下措施:

[[NSApplication sharedApplication] stopModal];
Run Code Online (Sandbox Code Playgroud)

但对于NSAlert,beginSheetModalForWindow中的"窗口"指的是警报将作为工作表附加到的窗口,该窗口将被冻结,直到警报被解除.但该应用程序不会被冻结; 所有其他窗户将保持可操作性.如果您要附加警告如纸和 明确冻结的应用程序的其余部分,按照beginSheet代码用一个简单的调用runModal并使用返回代码,如下所示:

[alert beginSheetModalForWindow:self.window 
                  modalDelegate:self didEndSelector:@selector(abandonmentAlertDidEnd:returnCode:contextInfo:) 
                    contextInfo:nil];
NSInteger returnCode = [alert runModal];
[self abandonmentAlertDidEnd:alert returnCode:returnCode contextInfo:nil];
Run Code Online (Sandbox Code Playgroud)

(当然,您将实现了abandonmentAlertDidEnd:returnCode:contextInfo:代码作为类方法.)

或者,如果您希望警报作为居中面板运行,请自行调用runModal.

假设您要运行面板模式,如果用户提交无效条目,则后跟警报.在显示警报之前,您必须先停止模式 - 之后,由于某种原因,另一次调用runModalForWindow无法正常工作.对于此场景,您需要一个模态会话:

1)将NSModalSession属性添加到控制器类,因为modalSession必须可以跨多个方法访问.

2)显示面板后,调用beginModalSessionForWindow来实例化modalSession:

self.modalSession = [[NSApplication sharedApplication] beginModalSessionForWindow:self.panelForInput];
Run Code Online (Sandbox Code Playgroud)

3)使用调用runModalSession的while循环进行跟进,当它的返回值不等于NSRunContinuesResponse时断开:

while ([[NSApplication sharedApplication] runModalSession:self.modalSession] == NSRunContinuesResponse)
    continue;
Run Code Online (Sandbox Code Playgroud)

循环将中断,当用户点击其中一个面板按钮时,应用程序将释放.(在面板的文本字段中输入将使模态会话保持不变.)

4)在按钮处理中,如果用户的条目无效,则使用runModal调用警报.

5)紧接警报调用之后,在解除警报后将执行的代码中,您将上面使用的相同的while循环置于其中.小组的模态会话重新开始.

6)在关闭面板的处理中,无论是在有效输入还是取消时,都会调用endModalSession,奇怪的是,这是不够的; 你也必须调用stopModal,即使你从未调用runModalForWindow.

[[NSApplication sharedApplication] endModalSession:self.modalSession];
[[NSApplication sharedApplication] stopModal];
[self.panelForInput close];
Run Code Online (Sandbox Code Playgroud)

modal-dialog objective-c nsalert nspanel

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

Django - 持久缓存

有没有办法可以使用默认的django缓存框架无限期地设置缓存密钥?我尝试将超时设置为0,但不幸的是,这根本没有设置密钥.

django django-cache

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

GWT 2.1编辑器框架

我正在寻找有关如何使用GWT 2.1 Editor框架的一些文档或示例.谷歌的文档是呃,有点缺乏.

从可用的有限文档中,我已经能够理解编辑器(理论上)将允许您更轻松地将GUI元素绑定到数据模型.这将缓解将数据复制到TextArea/ListBox/CheckBox,然后将用户的更改复制回底层模型(最终是数据库)的常见任务.

如果确实能够实现这一目标,那将非常受欢迎.就目前而言,我对如何实施其中任何一个都感到很头疼.任何指向文档或示例的指针都将受到高度赞赏.

java gwt requestfactory

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

像99 Erlang问题?

Lisp,PrologHaskell有"99个问题"列表.

Erlang有类似的东西吗?

我正在寻找从非常基本的东西升级到更复杂的东西,以及对Erlang惯用的方式.也就是说,列表长度或RLE压缩是一个明显的开始.但后来我想要消息传递,网络和群集等方面的练习,由经验丰富的人精心制作.

erlang

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