Objective-CでBOOL型をNSLogに出力する

知っている人には ♪なーんでもないようなことが〜 激烈にはまりどころだったりしませんか? 「BOOLをNSLogに出力する」はそんなものの一つ。

NSFileManager* manager = [NSFileManager defaultManager];
NSString* path = [NSHomeDirectory() stringByAppendingPathComponent:@"hoge.txt"];


あるファイルのパスをつくって、そのファイルが存在するかどうかを調べたいのだが、

NSLog(@"exists: %@",[manager fileExistsAtPath:path]);

とやると、EXC_BAD_ACCESS がでる。

注意※javaっこなのでprintf系シラネもとい苦手

BOOLは真偽だから0か1ででるのけえ?
と、以下のようにすると、結果がでてくる

BOOL rt = [manager fileExistsAtPath:path];
NSLog(@"rt: %d",rt);

ファイルがあれば「rt: 1」、なければ「rt: 0」。

どうしてもYES/NOでだしたいならこうやってかけば? とどっかの英語のQAのサイトにあった。

NSLog(@"exists: %@",([manager fileExistsAtPath:path] ? @"YES":@"NO"));

こうすると「 exists: NO」とかでてくる。

javaっこはとりあえずべべっとSystem.out.println すりゃなんかでてくるべ、なのよ。

まま、たしなみのある方もjavaっこも、歩み寄りませ…