我用下面的代碼之後`到底要替換文件的擴展名:垃圾在NSString`的`上的Xcode stringByReplacingCharactersInRange`方法調用
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
爲字符串。到底發生了什麼?
「gFileExtension」的定義在哪裏? – aroth 2013-02-18 01:57:16
如果您停在斷點處並執行'po fileSource',您將看到正確的輸出。在查看變量視圖中的值時,我也看到了這種奇怪的垃圾。 – rmaddy 2013-02-18 01:58:40
'gFileExtension'是define @「cpp」 – Dmitry 2013-02-18 02:07:42