在扩展名之前为文件名添加后缀

hpi*_*que 4 filenames objective-c nsstring ios

在Objective-C中的扩展名之前,为文件名添加后缀的最简单方法是什么?

  • 原名: image.png
  • 后缀: ~ipad
  • 结果: image~ipad.png

Dav*_*ong 12

NSString 有一大堆与路径相关的方法:

NSString * appendSuffixToPath(NSString * path, NSString * suffix) {
    NSString * containingFolder = [path stringByDeletingLastPathComponent];
    NSString * fullFileName = [path lastPathComponent];
    NSString * fileExtension = [fullFileName pathExtension];
    NSString * fileName = [fullFileName stringByDeletingPathExtension];
    NSString * newFileName = [fileName stringByAppendingString:suffix];
    NSString * newFullFileName = [newFileName stringByAppendingPathExtension:fileExtension];

    return [containingFolder stringByAppendingPathComponent:newFullFileName];
}
Run Code Online (Sandbox Code Playgroud)

(是的,你可以用很少的变量来做到这一点,但我想说清楚每个方法在做什么)