2016-03-04 113 views
0

我需要写一个苹果的项目,可以在本地化.h文件中的方法和属性的注释。如何扫描并替换文本内容文件

我可以使用代码

NSOpenPanel *panel = [NSOpenPanel openPanel]; 
[panel setAllowsMultipleSelection:YES]; 
[panel setMessage:@"Import one or more files or directories."]; 
[panel setCanChooseDirectories:YES]; 
[panel setDirectoryURL:[NSURL URLWithString:NSHomeDirectory()]]; 
[panel setAllowedFileTypes:[NSArray arrayWithObjects:@"h", nil]]; 

[panel beginWithCompletionHandler:^(NSInteger result) { 

    if (result == NSFileHandlingPanelOKButton) 
    { 
     NSArray *urls = [panel URLs]; 
     NSLog(@"urls : %@",[urls description]); 
    } 
}]; 

获得文件的URL。

但我不能找到一种方法来扫描所有.h文件并获得.h文件的内容,更不用说交换注解。我非常感谢你的帮助,谢谢。

+1

你为什么不通过命令行做到这一点?使用用户界面是没有意义的。 – trojanfoe

+0

NSOpenPanel很好,可以获取文件的URL。然后打开,读取和写入文件,您将需要一些其他类。 –

回答

0

最后,我写的代码是这样的:

// 1,扫描所有.h文件。

-(NSArray *)filesWithSuffix:(NSString *)suffix atFilePath:(NSString *)path{ 
NSFileManager * fileManager = [NSFileManager defaultManager]; 
NSError * error; 
NSArray * array = [fileManager subpathsOfDirectoryAtPath:path error:&error]; 

NSMutableArray *mutableArray = [NSMutableArray array]; 
for (NSString *ele in array){ 

    if ([[ele substringFromIndex:(ele.length - suffix.length)] isEqualToString:suffix]){ 
     [mutableArray addObject:ele]; 
    } 
} 
return [mutableArray copy];} 

,并调用方法:

NSArray *filePaths = [self filesWithSuffix:@".h" atFilePath:path];