問題タブ [optional-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
604 参照

swift - アンダースコア記号は、Swift の switch ステートメントで nullity を無視またはチェックしますか?

Swift には次のような switch ステートメントがあります。

タプルは type(SomeObject?, SomeObject, SomeObject?)であり、私が英語で言っているのは、最初の 2 つの要素が nil でなく、3 番目 (Optional)nilである場合に一致するということです。

someObjectXcode 7 は、バインディングとを使用しなかったのでcurrent、アンダースコアに置き換える必要があることを教えてくれます。_しかし、タプルの最初の要素をアンダースコアに置き換えた場合、コンパイラが値を無視することを意味するため、最初の要素が nil の場合にも一致しませんか? 最初の要素が nil の場合は別のケースがあります。

記録として、私のコードは期待どおりに機能しているように見えますが、確認したいのですが、これに関するドキュメントはどこにもありません。

0 投票する
1 に答える
2752 参照

ios - Swift 2 でオプションのバインディングを使用する方法

私は Swift を学ぶのが初めてなので、代わりに Swift 2 を学ぶほうがよいと判断しました。次のコード スニペットを除いて、これまでのところすべてが理にかなっています。うまくいけば、誰かが私のためにこれに光を当てることができます.

コードの最初のセクションは、Apple の Swift 2 ebook から直接引用したもので、オプションのバインディングを使用して文字列を int に変換する方法が理解できます。2 番目のコードは基本的に同じですが、文字列が UITextField の text プロパティから取得される点が異なります。コードの下部で次のエラーが発生します。

Playground の実行に失敗しました: /var/folders/nl/5dr8btl543j51jkqypj4252mpcnq11/T/./lldb/843/playground21.swift:18:18: エラー: オプションの型 'String?' の値 開封されていません。「!」を使用するつもりでしたか? また '?'?if let num = Int(numberString) {

この行を使用して問題を修正しました:

2 番目の例で ! が必要な理由を知りたいだけです。最初はそうではありません。問題は、テキストフィールドから文字列を取得しているという事実に関係していると確信しています。ありがとう!

0 投票する
4 に答える
72 参照

swift - オプションのオプションでオプションのバインディングをどのように実行しますか?

オプションのオプションでオプションのバインディングをどのように行いますか?

たとえば、UIViewController の navigationController プロパティがオプションのオプションであるとします。方法 1 または方法 2 を使用する必要がありますか、それとも 3 番目の方法はありますか?

方法 1

また

方法 2

0 投票する
2 に答える
32 参照

swift - Performing a method that uses variables that come from optional

If I need to perform a method whose multiple parameters' original source are optional, is doing multiple optional binding before performing the method the cleanest way to go about this?

e.g. UIStoryboardSegue's sourceViewController and destionationViewController are both AnyObject? and I need to use source's navigationController to perform something.

0 投票する
1 に答える
1180 参照

swift - オプションのバインディングの命名規則

コードにオプションのバインディングをあまり組み込むことを最初に思いとどまらせたのは、変数名を追加することでした。たとえば、私は一般的に次のように書きます。

代替案は少し面倒なように見えたので:

それはたくさんのバナナです。人々が新しい変数名として のようなものを使用しているのを見てきましbたが (コードの大きなブロックでは読みにくくなる可能性があります)、使用する変数名のスタイルについて一般的に受け入れられている標準があるかどうか疑問に思っていますオプションのバインディング? 読んでくれてありがとう。

0 投票する
2 に答える
893 参照

swift - オプションが1つの式でnilでない場合にのみ関数を呼び出しますか?

私はこれを次のように行うことが可能であることを知っています:

または、次のようにします。

ただし、次のように、これを 1 つの式で行う方法があるかどうかを調べています。

0 投票する
1 に答える
1732 参照

swift - オプションのバインディングを使用する理由

この質問がここにあることは承知していますが、私の質問への回答は部分的にしかなく、回答についてコメントできないため、ここに投稿せざるを得ません。

オプションのバインディングと単に ? を使用することの違いは何ですか。私の理解は、あなたが使用するときですか?変数のラップを解除するには、変数に nil 値が含まれている場合、それが使用されているコードは実行されません。(そうでない場合は訂正してください。)

0 投票する
1 に答える
48 参照

ios - オプションのバインド後でもオプションの文字が削除されない

プッシュ中に以前のView Controllerからオプションのプロパティを設定していますが、オプションをバインドした後でも、コンソールでオプションの文字を印刷しています。これが私のコードです

次のような出力が得られます。

私が間違っていることは何ですか?