-1

キー「name」と数値「George's iPhone」および「123456」の辞書を作成したいと考えています。

私のコードは次のとおりです。

NSString *name = @"George’s iPhone";
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setValue:@"123456" forKey:@"number"];
[dict setValue:name forKey:@"name"];

しかし、私は得た、

name = "George\U2019s iPhone";
value = "123456";
4

4 に答える 4

2
于 2013-10-28T10:25:06.040 に答える
0

文字列の初期化を行っているとき、NSStringおそらく正しい文字列エンコーディングを選択していますUTF8。したがって、アポストロフィは Unicode では \U2019 です。コードに問題はありません。デバッガーまたは NSLog で表示されているものはここでは正しいです。

于 2013-10-28T10:18:32.040 に答える
0

このようにしてみてください:-

NSDictionary *yourDict=[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"George’s iPhone",@"123456",nil] forKeys:[NSArray arrayWithObjects:@"name",@"number",nil]];
NSLog(@"%@",[[yourDict valueForKey:@"name"]stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]);
NSLog(@"%@",[[yourDict valueForKey:@"number"]stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]);
于 2013-10-28T10:34:40.317 に答える
0

使いました:

NSLog(@"%@", dict);

そのため、出力のように表示されます。ではNSDictionary' 文字はエンコードされています。

次の方法で確認できます。

NSLog(@"%@", [dict valueForKey:@"name"]);

目的の出力が印刷されます。

于 2013-10-28T10:28:24.473 に答える