1

パーソナライズされたエントリで独自の Eng-Rus 辞書をプログラムしたいと考えています。トピックを研究して、このメソッドを(学習目的で)作成しました-ロシア語でNSMutableDictionaryをコンソールに出力できません。コードとコンソール出力を見てください。LLDB から GDB への変換を無効にしようとしましたが、うまくいきませんでした。エンコード設定は UTF8 (xcode 4.6.3) です。つまり、私は「プログラマー」の問題を抱えていると思います。つまり、何かを知らないだけです。私はまだ学んでいるので、あなたの助けが必要です、友達...

-(NSString*) dicto
{
    NSString *vic;
    NSMutableDictionary *dictos = [[NSMutableDictionary alloc]initWithCapacity:10] ;

    [dictos setValue:@"кошка" forKey:@"cat"]; //at the console output below NO Russian
    [dictos setValue:@"dog" forKey:@"собака"]; //at the console output below NO Russian

    NSArray *final=[dictos allKeys];
    id vid =[final objectAtIndex:1];
    NSLog(@"vid is %@",vid); // prints in Russian
    NSLog(@"%@", dictos); //this line probably has an issue  
    vic=vid;
    return vic; //the label.text in sender (=iphone simulator) prints Russian   
}

コンソール出力 (XCode の下のウィンドウ)

2013-08-04 23:20:33.958 helloWorldToConsolFromNSLog[17718:c07] vid is собака
2013-08-04 23:20:33.958 helloWorldToConsolFromNSLog[17718:c07] {
    cat = "\U043a\U043e\U0448\U043a\U0430";
    "\U0441\U043e\U0431\U0430\U043a\U0430" = dog;
}
4

1 に答える 1

3

NSLog(または) を出力するdescriptionメソッドを使用し、すべての非 ASCII 文字をエスケープ形式で出力します。NSDictionaryNSArray\Unnnn

NSLog出力のデバッグdescriptionのみ使用する必要があるため、これはまったく問題ありません。すべてのキーと値が正しく保存されます。

于 2013-08-04T20:53:19.797 に答える