问题列表 - 第10885页

在将对象添加到集合之前使用自动释放?

我一直在查看StackOverflow上提出的问题,但是在Objective-C中有很多关于内存管理的内容,我找不到我想要的答案.

问题是,在将新创建的对象添加到集合(如NSMutableArray)之前,是否可以(并建议)调用autorelease?或者我应该在添加后明确地发布它.(我知道NSMutableArray会保留对象)

这说明了我的问题:

场景A(自动释放):

- (void) add {
   // array is an instance of NSMutableArray

   MyClass *obj = [[[MyClass alloc] init] autorelease];

   [array addObject:obj];
}
Run Code Online (Sandbox Code Playgroud)

场景B(明确发布):

- (void) add {
   // array is an instance of NSMutableArray

   MyClass *obj = [[MyClass alloc] init];

   [array addObject:obj];

   [obj release];
}
Run Code Online (Sandbox Code Playgroud)

我认为两者都是正确的,但我不确定,我肯定不知道什么是优先的方式.

Objective-C大师可以对此有所了解吗?

iphone memory-management objective-c autorelease

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

如何使用CodeIgniter PART 2测试控制器?

我在Codeigniter中测试控制器时遇到了困难:我使用Toast但是当我调用Home Controller类时,我得到一个异常,即"db"未定义.有谁知道如何测试这个1-1?

谢谢

class Home_tests extends Toast {


function  __construct() {
    parent::__construct(__FILE__);
// Load any models, libraries etc. you need here
}


function test_select_user() {
    $controller = new Home();
    $controller->getDbUser('foo@gmail.com','password');
    assert($query->num_rows() == 0 );
}
 }
Run Code Online (Sandbox Code Playgroud)

testing controller codeigniter

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

打印机仿真器,PDF编写器等

我将很快开始研究我正在开发的产品的"打印"和"打印预览"功能.我没有打印机,也没有购买打印机的意图.我正在寻找可以用来测试我的打印代码的任何免费软件.

我可以用来模拟打印机的最佳免费选项是什么?我在Windows上使用GDI +,但平台独立的选项,如PDF编写者,非常受欢迎.

printing pdf gdi emulation

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

了解sha-1碰撞的弱点

根据各种消息来源,寻找sha-1碰撞的攻击已经改进到2 ^ 52次操作:

http://www.secureworks.com/research/blog/index.php/2009/6/3/sha-1-collision-attacks-now-252/

我想知道的是这些发现对未受攻击的系统的影响.这意味着如果我对随机数据进行散列,那么碰撞的统计几率是多少?换句话说,最近的研究表明,蛮力生日攻击有更高的机会发现最初提出的碰撞吗?

一些文章,如上所述,表示通过暴力获得SHA-1碰撞需要2 ^ 80次操作.大多数消息来源说2 ^ 80是一个理论数字(我假设因为即使在其摘要空间上也没有完美地分配散列函数).

基本哈希分布中任何已公布的sha1冲突弱点是什么?或者只是导致数学攻击导致碰撞的几率增加?

我意识到最终它只是一场赔率游戏,并且它们是一个无限小的变化,你的第一个和第二个消息将导致碰撞.我也意识到即使是2 ^ 52也是一个非常大的数字,但我仍然想了解对不受攻击的系统的影响.所以请不要回答"不要担心".

hash cryptography sha1

9
推荐指数
3
解决办法
7523
查看次数

DB2的数据模型工具

我在DB2中创建了一个数据库,并在表中创建了关系.我想基于DB2中的数据库设计创建一个ER图.MS SQL有一个从DB模式创建ER图的工具,但DB2似乎没有,至少据我所知.

任何人都知道DB2本身的任何开源工具/工具吗?

database db2 database-design erd data-modeling

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

如何在版本号上使用Javascript数学

我用jQuery来获取这样的浏览器版本:

var x = $.browser.version;
Run Code Online (Sandbox Code Playgroud)

我得到一个这样的字符串:1.9.1.1

现在,我想做一个评估,所以如果x> = 1.9.1然后做一些事情.不幸的是,有多个小数点,我不能做一个parseFloat(),因为它将1.9.1.1转换为1.9,if if评估将匹配1.9.0版本(我不想要).

有人找到了一种方法来完成将版本号(带有多个小数)转换为可用作评估数字的东西(或其他一些方法来完成我在这里尝试做的事情)?

谢谢 -

javascript jquery

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

CSocket ::在我的MFC应用程序中创建抛出异常

我的应用程序(VC MFC)运行gflags启用Pageheap以跟踪页面堆损坏.

现在应用程序崩溃并显示此错误,我无法解释这些行(除了感觉资源的可用性)

任何人都可以了解造成应用程序崩溃的原因究竟是什么?

(info:应用程序是一个多线程的应用程序,在多处理器计算机中运行大约500个线程)

kernel32!RaiseException+53 
msvcrt!_CxxThrowException+36 
mfc42u!AfxThrowResourceException+19 
mfc42u!AfxRegisterWndClass+ab 
mfc42u!CAsyncSocket::AttachHandle+5c 
mfc42u!CAsyncSocket::Socket+25 
mfc42u!CAsyncSocket::Create+14 
Run Code Online (Sandbox Code Playgroud)

c++ mfc pageheap

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

Ruby TCPSocket写不起作用,但是put呢?

我正在使用GServer和TCPSocket开发Ruby TCP客户端/服务器应用程序.我遇到了一个我不明白的问题.我的TCPSocket客户端成功连接到我的GServer,但我只能使用puts发送数据.调用TCPSocket.send或TCPSocket.write什么都不做.我缺少一些魔法吗?

tcp_client = TCPSocket.new( ipaddr, port )
tcp_client.puts( 'Z' ) # -> GServer receives "Z\n"
Run Code Online (Sandbox Code Playgroud)

但如果我使用写或发送...

tcp_client = TCPSocket.new( ipaddr, port )
tcp_client.write( 'Z' ) # -> nothing is received
tcp_client.send( 'Z' ) # -> nothing is received
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

附加信息:

  1. Linux和Windows上的行为是相同的.
  2. 写入后刷新套接字不会改变行为.

ruby sockets tcp

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

OO或程序

我有一个用于我的支票簿的Access数据库(后面有很多相当简单的VBA),我想将它重写为带有SQL后端的独立程序.我正在考虑使用C++,Java或Python.

在我开始之前,我曾经假设我会把它写成OO,因为我认为我会想"以OO术语"(由于我采用了OO Logic类和C++类),但我发现我只能将其可视化为程序性(但可能是因为我在思考数据库如何在Access中工作时精神错乱).我该如何决定?我有意义还是看起来我不理解这些概念?

谢谢你的帮助.

sql oop procedural

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

用于定义事件委托者的正确语法

通常,您为按钮单击编写处理程序,如下所示:

$(document).ready(function()
{

  $("button").click(function()
  {    
    doSomething();
  });
});
Run Code Online (Sandbox Code Playgroud)

但是在事件委托者的情况下,用这样的函数响应事件:

  function doSomething(event)
  {
    if (ev.target.id == 'button1' )
    {
       //do your stuff
       console.log('#button1 click');
    }
    else
    {
       console.log('not a #button1 click');
    }
  }
Run Code Online (Sandbox Code Playgroud)

我困惑的是用于定义调用此委托函数的事件的正确语法 - 这个?(一个):

$(document).ready(function()
{
  $(function()
  {
    $('button').click(doSomething);
  });
});
Run Code Online (Sandbox Code Playgroud)

或这个?(B):

$(document).ready(function()
{
  $("button").click(doSomething);
});
Run Code Online (Sandbox Code Playgroud)

哪个是正确的,为什么?

javascript jquery event-delegation

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