質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Q&A

解決済

1回答

1124閲覧

Objective-CでNSDictionaryの日本語でkey指定出力したい

退会済みユーザー

退会済みユーザー

総合スコア0

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

0グッド

0クリップ

投稿2018/06/07 08:42

前提・実現したいこと

NSDictionaryで日本語出力することはできたのですが、
key指定で特定の値だけ取り出したい。
したのコードで言えば”N”を指定すれば
”南北線”が出るといったようにしたいです。

またもっとスマートなコードの書き方があればご教授くれると助かります。

発生している問題・エラーメッセージ

該当のソースコード

objective

1#import <Foundation/Foundation.h> 2 3int main(int argc, const char * argv[]) { 4 @autoreleasepool { 5 6NSDictionary *metro = @{@"銀座線": @"G", 7 @"丸ノ内線": @"M", 8 @"日比谷線": @"H", 9 @"東西線": @"T", 10 @"千代田線": @"C", 11 @"有楽町線": @"Y", 12 @"半蔵門線": @"Z", 13 @"南北線": @"N", 14 @"副都心線": @"F",}; 15 16NSString *dictString = [NSString stringWithFormat:@"%@",metro]; 17NSString *dictUTFNonLossyASCIIStringEncoding = [NSString stringWithCString:[dictString cStringUsingEncoding:NSUTF8StringEncoding] encoding:NSNonLossyASCIIStringEncoding]; 18 NSLog(@"metroUTFNonLossyASCIIStringEncoding:%@", dictUTFNonLossyASCIIStringEncoding); 19 20 } 21 return 0; 22} 23

試したこと

NSString *mt = metro[@"N"];

で表示されるかとおもったんですが、
下記エラーが出てしまいました。
Unused variable 'mt'

色々検索していたら、
上記のコードを見つけたので、
つっこんでみて表示されたのは良いのですが、
ディクショナリーの中身全てが表示されてしまいました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

keyとvalueを逆にして下さい。

投稿2018/06/07 09:03

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/07 10:40

回答ありがとうございます。 keyとvalueを逆にすれば 以下のコードで出力できる ということで良いでしょうか? NSString *mt = metro[@"N"];
退会済みユーザー

退会済みユーザー

2018/06/09 03:00

逆にしましたが解決しませんでした…
退会済みユーザー

退会済みユーザー

2018/06/09 03:13

上記の通りです。 逆にしてみたのですが結果は変わらずです。
fuzzball

2018/06/09 05:54

>>Unused variable 'mt' というのは「変数を使っていませんよ」という警告です。エラーではありません。 NSLog(@"%@", mt); などとして、変数を使ってやれば警告は消えます。
退会済みユーザー

退会済みユーザー

2018/06/09 07:00

挿入したら解決しました! ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問