次のコードを使用して、ファイルの拡張子を置き換えます。
NSString *fileOriginal = [url lastPathComponent];
NSString *fileSource = @"";
NSRange range = [fileOriginal rangeOfString:@"." options:NSBackwardsSearch];
if (range.length > 0) {
range.length = fileOriginal.length - range.location;
fileSource = [fileOriginal stringByReplacingCharactersInRange:range withString:[NSString stringWithFormat:@".%@", @"cpp"]];
} else {
fileSource = [fileOriginal stringByAppendingString:[NSString stringWithFormat:@".%@", gFileExtension]];
}
コードは正常に機能します。しかし、デバッガーは最後にゴミを表示しますNSString
:
文字列に追加しようとした場合も同じ結果にretain
なります。一体何が起こるの?