我知道你必须复制块才能让它们在堆栈帧退出后留下来.但是,这如何应用于嵌套块中使用的堆栈分配块,如下面的代码示例所示:
- doSomethingFunkyThenCall:(void(^)(int someValue))callback
{
[[NSOperationQueue currentQueue] addOperationWithBlock:^{
// ... do some work here, potentially nesting into further blocks ...
callback(result);
}];
}
Run Code Online (Sandbox Code Playgroud)
显然,doSomethingFunkyThenCall:堆栈帧将在执行回调之前终止,因此必须复制它.但是这会在调用中自动发生addOperationWithBlock:还是我必须手动执行?
如何将自定义菜单项添加到 Finder 中文件的上下文菜单?
不幸的是,Internet 上和 Stack Overflow 上的大部分信息在 10.6 中都不起作用或太有限了。例如,Automator 不允许您动态创建项目或创建子菜单。
我知道仍然可以做这种事情,因为 Dropbox 和 FolderGlance 都做类似的事情。有谁知道他们是如何实现的?
谢谢。