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摡䕤瑮楲獥牆浯楄瑣潩瑣潆䭲祥:汣獡s獩楋摮晏汃獡㩳氀湥瑧h畡潴敲敬獡e敳佴橢捥㩴潦䭲祥:敲潭噬污敵爀浥癯䅥汬扏敪瑣s湩瑩猀慨敲䥤獮慴目敲楧瑳牥敎睴牯䑫晥畡瑬䙳汤e畢摮敬摉湥楴楦牥椀䕳畱污照瑓楲杮:桳牡摥潃普杩牵瑡潩n潣湵牴䑹晥畡瑬絩8筞㴿楩}ㅶ䀶㨰帴㽻椽絩椸利䀀䜢佅楐數偬楯瑮"㽻搽絤䀸㨰4㉶䀴㨰笴㴿畑䀀㰢䕇协灵固瑲摥楔敬敓獴敓癲牥牐硯䑹汥来瑡㹥」㍶䀶㨰笴㴿摤㡽ㅤ ㅤ椶㐲瘀4筞彟䙃畒䱮潯㵰}癞䀸㨰4ㅀ䀲㨰帴㡶瘀〲぀㐺㡀ㅀ䤲㘱䀀㰢华慃぀㐺㽻搽絤常㉤4㽻∽慬楴畴敤搢氢湯楧畴敤搢}サポート/iPhone貌Š��imulator/5.0/Applications/CAF90A92-5B85-4FC0-8482-3702C3E98

コードを2回実行すると、if条件はスキップされますが、../Documents/ディレクトリは空のままです

来瑡㹥"㉀䀸-つまり、wtf、初めてこのようなもの、xcodeを再起動、macは役に立たなかった、シミュレーターはすべて英語に設定されている、他のプロジェクトでも発生する、キーボード設定と国有化は問題ないように見えるので、本当に私は何が悪いのか見当がつかない

何か案は?

4

1 に答える 1

1

文字列だけではいけませんNSLog。取る文字列引数は、printf特別に介入した形式(のように)です。あなたの場合、それはランダムメモリを読み取っています。これは%20S、次の引数をワイド文字のnullで終了する文字列へのポインタとして解釈し、20列に右揃えで出力することを意味するためです。Unicodeのほとんどが中国の象形文字で占められているため、これらは中国語です。

これはそれを行う正しい方法です:

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