小编dev*_*vid的帖子

重新启动可可应用程序

我有一个应用程序,它检查其命令行参数并将值存储在持久存储中.其中一个是密码,我不想让人们看到'ps'和朋友.我目前正在研究的方法是,在我存储了我需要的值之后,在没有命令行参数的情况下重新启动进程.我天真的方法就是这样,其中args [0]是应用程序的路径:

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:[args objectAtIndex:0]];
[task launch];
[task release];
[NSApp terminate:nil];
Run Code Online (Sandbox Code Playgroud)

孩子跑了.然而,当我的应用程序被终止时,孩子似乎不是孤儿,而是被卡住了.我离开这个吗?

更多信息:所以看来,当我调用[NSApp terminate:nil]时,启动的NSTask卡住了,但是如果我只是退出()那么它工作正常.但是,如果我这样做,我担心开放的东西(钥匙串,plist等)会处于不良状态.

请注意,许多示例代码都是关于某些类似监视程序的进程,它会在需要时重新启动单独的进程.我正在尝试重新启动已在同一进程内运行的当前进程.

cocoa process objective-c

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

传递变量以在vimscript中休眠

多年来我一直在使用vim来计算,但我从来没有真正学过vimscript.我现在正在尝试.

无论如何,我想将不同的时间传递给睡眠功能.我也希望在传递之前操纵该值.这是一个简单的例子.

function! wait(mil)
    let timetowait = mil . "m"
    sleep timetowait
endfunction
Run Code Online (Sandbox Code Playgroud)

即使我尝试使用l来为timetowait添加前缀:它说"无效的参数:l:timetowait".

将变量值传递给睡眠的正确方法是什么?

vim

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

标签 统计

cocoa ×1

objective-c ×1

process ×1

vim ×1