gpt4 book ai didi

objective-c - cocoa NSTask 帮助

转载 作者:行者123 更新时间:2023-12-03 18:04:46 25 4
gpt4 key购买 nike

我需要一些有关 NSTask 的帮助。另外,我是 Cocoa/Obj-C 编程的新手,所以请耐心等待。我正在尝试制作一个目录。然后,将其移除。所以这是我到目前为止所拥有的:

NSLog (@"START");

NSTask *task;
task = [[NSTask alloc] init];
[task setLaunchPath: @"/bin/mkdir"];

NSArray *arguments;
arguments = [NSArray arrayWithObjects: @"/tmp/TEMP", nil];
[task setArguments: arguments];

NSPipe *pipe;
pipe = [NSPipe pipe];
[task setStandardOutput: pipe];
[task setStandardError: pipe];

NSFileHandle *file;
file = [pipe fileHandleForReading];

NSLog (@"MKDIR");

[task launch];
[task waitUntilExit];

NSData *data;
data = [file readDataToEndOfFile];

string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];

NSLog (@"OUTPUT:\n%@", string);

[task release];
//EDIT: The following lines should be removed and [string release]; should be added.
[arguments release];
[pipe release];
[file release];
[data release];

我的问题是最后关于“release”的部分是否正确?如果没有,有人可以帮我纠正吗?另外,如果我想做另一个“rmdir”的 NSTask,我会做“task = [[NSTask alloc] init];”对于我使用的每个变量等等,或者我需要创建新变量吗?非常感谢!

最佳答案

首先,不,您没有正确管理内存(提示:上面仅正确处理了 task)。 Read this因为它解释了一切。

其次,不需要使用 NSTask 实例来创建/删除目录。你应该使用 NSFileManager 来代替;再次--the documentation解释了一切。

关于objective-c - cocoa NSTask 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3191202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com