小编Mic*_*son的帖子

我必须在这里复制一个块吗?

我知道你必须复制块才能让它们在堆栈帧退出后留下来.但是,这如何应用于嵌套块中使用的堆栈分配块,如下面的代码示例所示:

- 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:还是我必须手动执行?

objective-c objective-c-blocks

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

将自定义菜单项添加到 Finder 上下文菜单

如何将自定义菜单项添加到 Finder 中文件的上下文菜单?

不幸的是,Internet 上和 Stack Overflow 上的大部分信息在 10.6 中都不起作用或太有限了。例如,Automator 不允许您动态创建项目或创建子菜单。

我知道仍然可以做这种事情,因为 Dropbox 和 FolderGlance 都做类似的事情。有谁知道他们是如何实现的?

谢谢。

macos cocoa finder reverse-engineering

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