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っこも、歩み寄りませ…