0

奇怪而有趣的想法正在发生

代码:

-(void)saveFile
{    
NSFileManager *fileMng = [NSFileManager defaultManager];
if(![fileMng fileExistsAtPath:self.appFilesPath])
{
    NSError *error = nil;
    BOOL success = [fileMng createDirectoryAtPath:self.appFilesPath withIntermediateDirectories:YES attributes:nil error:&error];
    if(!success)
    {
        NSLog([error localizedDescription]);
    }
}
NSLog([NSString stringWithFormat:@"%@",self.appFilesPath]);
[fileMng createFileAtPath:self.fileFullPath contents:self.fileData attributes:nil];
[self.fileData writeToFile:self.fileFullPath atomically:YES];
}

这条线

NSLog([NSString stringWithFormat:@"%@",self.appFilesPath]);

应该给我这样的东西

file://localhost/Users/user/Library/Application%20Support/iPhone%20Simulator/5.0/Applications/BF35B859-514B-45AA-8E3A-B2CE65BD82B6/Documents/AppFiles

目录 AppFiles 应该在 ../Documents/ 目录下创建,但它不存在...

而nslog给了我这样的东西:file://localhost/Users/user/Library/Application瑳楲杮楗桴潆浲瑡:敲敬獡e摡䕤瑮楲獥墙浯楄潩虑祲:扯敪汲祥:汏氽獩拋摮歪汃汃獡㩳氭氭湥瑧歲歲氽氽氽潦㩴棲祥:敲敲潭敶描湪整揲祥:敧哙敌浔浔噬杀敌籴浥牑牑扤扤扤䈄挥灯扏扤扤䈄挀灯扏扤扤䈄挥灯扏扤扤䈄挀灯扏扤扤䈄挀灯摡扤祑䈄䍥㩮湉汤e毕摮敬摉湥楴楦牥碗䕳留污洁瑓楲杮:桳牡摥潃普杩牵瑡潩n潣湵牴䑹晥畡瑬潆..这个灌木的几屏..帴㽻椽絩8策㴿楩}ㅶ䀶㨰帴㽻椽絩椸㈱䀀䜢佅楐数偬楯瑮"㽻搽絤䀸㨰4㉶䀴㨰笴㴿摤㡽䀀倢剂焕瑳牥"ㅶ䀶㨰⌴匴帶䀶㨰⌴ ㈱伀摥扥敬䕇玱摥扥敬䕇玱摥扥敬䕇玱捥扥敬敓维疯牴牐砚䑹汥来瑡㹥"㈱佗㑤㨰笴㴤㑤㨰㉤洤㑤㘽㉤洤㑤㘱㉤洤㑤丽㘱协㉤洤㑤ㅩ2㉶䀸㈥ㅩ2㉶䀸㈴临丱㉶䀸㵤ㅩ2㉶䀸㵤丄ㅶ㐲淤㈱぀㐺癞8ㅀ䀣㨰帴㡶ㅣ2策硟捰损汤敮椩彮㵳}ㅀ䍟㨰䀴彻彻䍟剆湵潌罽㈱帀䍟剆湵潌紽䀸灯4策彟䙃畒䱮浔㵰}癞䀸㨰4ㅀ䀲㨰帴㡶淤〲぀㐺㡀ㅀ䤲㘱䀀㰢华慃档䑥汥来瑤㹥"㉀䀸㨰䠴笸㴿摤ㅽ2㽻搽぀㐺㽻搽絤常4㽻∽慬楴王敤搢搢楧王敤搢}支持/iPhone Š暴搢模拟器/5.0/Applications/CAF90A92-5B85-4FC0-8482-3702C3E98F8D/Documents/AppFiles

当我第二次运行代码时,跳过了 if 条件,但是 ../Documents/ 目录仍然是空的

来瑡㹥"㉀䀸 - 我的意思是wtf,第一次这样,重启xcode,mac没用,模拟器都设置为英文,其他项目也出现,键盘设置蚂蚁国有化看起来还可以,所以真的我不知道出了什么问题

有任何想法吗?

4

1 回答 1

1

你不能只是NSLog一个字符串。它采用的字符串参数是一种printf特殊的格式(如 in )。在您的情况下,它正在读取随机内存,因为%20S意味着将下一个参数解释为指向以空字符结尾的宽字符字符串的指针,并将其在 20 列中右对齐打印;它们是中文的,因为大部分 Unicode 都被中文象形文字占据了。

这是正确的方法:

NSLog(@"%@", self.appFilesPath);
于 2012-06-04T17:28:09.563 回答