2017-07-12 7 views
0

On Xcode(Swift)Onユーザーが提供する情報に基づいてアプリケーションに格納されたデータをロードします。例えばSwift:提供されたユーザー情報に基づいて文字列を読み取る

、ユーザが「Xcodeの」の入力を与える:

:この情報を

var userInput = "Xcode" 

、私はアプリにすでにあるまったく同じ名前を持つ格納されている文字列を表示したいです

let Xcode = "Xcode is a development tool." 

これは私が印刷したときに、私が得るものです:

print ("Print: ", userInput) ->  Print: Xcode 

しかし、私は結果FRを印刷したいです代わりにアプリから格納された文字列値。私が探している結果がこれです:

print ("Print: ", userInput) ->  Print: Xcode is a development tool. 

私が格納されている文字列への入力を関連付ける必要があり、どのように私は手動で私が表示したい文字列に単語の数千人を関連付けることなくこれを行うことができますか?この結果を得るための最良のアプローチは何ですか?

ありがとうございます!


私は一つ一つをしなければならない私のアプローチはこれです:

switch userInput { 
    case Xcode: // This is the info provided by the user. 
     userInput = Xcode // This is the string stored on the app. 
    break 
} 

をしかし、私は、文字列の数千を持っていたら、このアプローチはひどいですが、動作します:

print ("Print: ", userInput) ->  Print: Xcode is a development tool. 
+0

「_」を削除して「this is」を「userInput」に追加したいだけですか?または、どのようなデータ形式を達成したいのですか? – Lawliet

+0

この例ではyesですが、これは単なる例です。私は、ユーザーの入力をアプリケーションに格納された文字列に関連付けるためのより良い方法を探しています。 – tomDev

答えて

0

ますあなたの情報のためのデータモデルを定義しなければなりません。あまりにも多くのデータがある場合は、それぞれのキーが関連付けられた値のuserInputであるJSONファイルを作成することをお勧めします。次にJSONファイルを解析して、キー関連の値を簡単に取得できる辞書に変換できます。

この時点で、object(forKey:)メソッドを使用してパラメータとして渡されたキーに関連付けられた値を出力する独自のprintメソッドを定義できます。

0

私はあなたの質問を正確に理解できません。しかし、私が理解したことはDictionaryデータ型でこれを行うことです。これはサンプルコードです。

var str = "Hello, playground" 

var responseMessages : [String : String] = ["" : ""] 

if responseMessages[str] == nil 
{ 

    responseMessages[str] = str; 
} 

print(responseMessages[str]) // Output : Optional("Hello, playground") 

あなたはStringデータ型にそれらをキャストして、文字列値からoptionalキーワードを削除することがよく知っています。

関連する問題