2016-05-10 7 views
0

私は変数が宣言されている場合、それがnullかどうかをテストするのは簡単ですが、変数がまったく宣言されていれば解決する方法は見つけられません。私は必要なのである。変数がSwiftで宣言されているかどうかを確認するにはどうすればよいですか?

変数が宣言されている場合:

var i:Int 
if [i is declared] { 
    // returns true 
} 

変数が宣言されていない場合は、次の

if [i is declared] { 
    // returns false (but does not crash) 
} 

ユースケースを:私はスウィフト人を教えるためにアプリを書いています。彼らのコードを評価し、それが正しいことを確認できるようにしたい。ですから、私の指示は「私と呼ばれる変数を作成し、それを1と同じに設定する」ことができ、正しく実行したかどうかをテストしたいことがあります。 PHPでは、私はisset($ i)を行うことができます。私はSwiftに相当するものが必要です。私はi == nullの場合は使用できません。なぜなら、simpleBobは定義されていないとクラッシュすると言っているからです。

ありがとうございます!

ロブ

+7

Swiftでは、宣言されていない変数を使用することはできません(コンパイルしないと、未解決の識別子 'i'を使用します)。あなたのコードがどのように見えるかをもっと具体的にすることはできますか? – Daniel

+0

なぜこれが必要ですか?あなたは何を達成しようとしていますか? – Alexander

+0

ありがとうございます。私はSwiftを人々に教えるためのアプリを書いています。彼らのコードを評価し、それが正しいことを確認できるようにしたい。ですから、私の指示は「私と呼ばれる変数を作成し、それを1と同じに設定する」ことができ、正しく実行したかどうかをテストしたいことがあります。 PHPでは、私はisset($ i)を行うことができます。私はSwiftに相当するものが必要です。私はi == nullの場合は使用できません。なぜなら、simpleBobは定義されていないとクラッシュすると言っているからです。 – user2428168

答えて

-2

あなただけのクラスでは、特定の名前の変数があるかどうかを確認するために探しているなら、あなたは、単にそのクラスに変数名を入力し始める可能性があり、それが自動的に取り込む必要があります。

ただし、前述のように、宣言の前に変数を使用すると、コードはコンパイルされません。

は、私はしかし、彼らはUITextViewにそれを入力している場合、あなたは.containsStringプロパティをつかむことができ、彼らのように変数に入れてかどうかを確認、あなたがデータを入力するユーザーを持っているかわからない

を更新しましたあなたは尋ねました。

他のバリエーションを含めることもできます。

こちらがお役に立てば幸いです。

+0

ありがとう、これは私が頼んでいるものではありません。私はその質問を明確にした。 – user2428168

+0

@ user2428168速い質問。あなたはどのようにユーザーを評価していますか?彼らはUITextViewに入力しますか? –

+0

ありがとうございます - ユーザーが必ずvar i = 1を入力するとは限りませんが、これは機能しませんが、var i = 1などを入力する可能性があります。私はすべての可能な場合を調べることができますか、またはスペースなどをストリップしますが、これは非常に面倒です。彼らは実際にブラウザウィンドウを介して迅速なコードを入力しており、サーバ側で処理されています。 Swiftに変数が作成されているかどうかは分かりません。 – user2428168

-2

あなたはinil

がこれを試してみてくださいであるかどうかを確認することができます:iあなたの変数を宣言するとき

if i == nil { 
//not declared 
} else if i != nil { 
//declared 
} 

また、あなたがそれをオプションにする必要があります。このように:あなたの変数はnilするため

var i:Int? 

これは、ことができますので、それは未定義にすることができますが、まだ存在しています。

+0

ありがとう - 私は宣言されていない場合、クラッシュするので、これは動作しません。 – user2428168

関連する問題