是否可以使用目标c读取和写入.h文件?

时间:2014-03-10 10:05:06

标签: objective-c file plugins

我正在尝试制作一个xcode插件,需要从.m文件中写入.h文件。我无法找到一个stackoverflow帖子,其中有关于如何执行此操作的答案。我试过这段代码

NSData *data = [NSData dataWithContentsOfFile:filePath];
NSString *contents = [[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSUTF8StringEncoding];

我也尝试使用StringWithContentsOfFile方法,但它们都返回nil。是因为您无法使用此代码读取.h文件,或者是我缺少的其他内容。

filePath是这个,它是一个正确的文件路径,我的ftp客户端可以读取它至少文件:///Users/myUserName/Documents/code/macOsDev/XcodePlugIns/XcoderPlugin/XcoderPlugin/XcoderPlugin.h

所以我的问题是,如何读取和写入.h文件?提前谢谢。

按要求编辑,更多代码,但这是我已经进入我的插件的读/写部分。

NSString *filePath = path;
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSString *contents = [[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSUTF8StringEncoding];
NSError *error;
NSString *contents1 = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];

内容为@“”,因为数据为零 而contents1只是零; 错误是错误

NSError * domain: @"NSCocoaErrorDomain" - code: 260

在调试器中,但我不确定我是否正确使用此错误。

1 个答案:

答案 0 :(得分:1)

使用“/Users/myUserName/Documents/code/macOsDev/XcodePlugIns/XcoderPlugin/XcoderPlugin/XcoderPlugin.h”。 不要使用'file://'前缀

以下是阅读和写作的代码

NSString *path = @"your/path/tp/.h/file";
NSData *data = [NSData dataWithContentsOfFile:path];
//Get the contents of the file into the mutable string
NSMutableString *contents = [[NSMutableString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSUTF8StringEncoding];
//Make changes to your mutable string
[contents appendString:@"abc"];
//Write it back to the file
[contents writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];