2016-03-04 89 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];