0
我正在嘗試使用自定義記錄器爲基於文本的遊戲提供乾淨的控制檯輸出。下面是該方法的問題代碼:自定義日誌記錄方法MyLog不適用於Objective-C中的高頁面字符
void MyLog(NSString *format, ...)
{
va_list args;
va_start(args, format);
NSString *formattedString = [[NSString alloc] initWithFormat:format arguments: args];
va_end(args);
[[NSFileHandle fileHandleWithStandardOutput] writeData:[formattedString dataUsingEncoding: NSNEXTSTEPStringEncoding]];
[formattedString release];
}
,這裏是這個例子的使用它:
NSLog(@"Unicode text: \u2665");
NSLog(@"ASCII Text");
MyLog(@"Unicode text: \u2665");
MyLog(@"ASCII text");
和輸出:
2012-04-26 00:08:53.614 TextCraft[11319:a0f] Unicode text: ♥
2012-04-26 00:08:53.617 TextCraft[11319:a0f] ASCII Text
ASCII text
正如你所看到的,對於低頁面字符,MyLog函數可以正常工作,但是當它嘗試打印高頁面字符時,它會簡單地跳過整行。有人知道爲什麼嗎?
非常感謝! – Supuhstar 2012-04-26 04:25:47