問題タブ [forced-unwrapping]

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 に答える
233 参照

swift - 迅速な致命的エラー: オプション値のラップ解除中に予期せず nil が見つかりました (lldb)

Swift のコミュニティ用の小さなソーシャル ネットワーク アプリをプログラミングしています。

fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)でビューを変更しようとすると 、エラーが発生しましself.presentViewController(FeedViewController(), animated: true, completion: nil)た。このコード行は、ユーザーが 2 番目のページへのアクセスを許可されている場合にのみ実行されます。

完全なコードは次のとおりです。

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

scala - Scala: オプション オブジェクトのオプション値にアクセスする

オプション オブジェクト内のオプション値にアクセスする良い方法はありますか? ネストされた一致ケースは、醜いツリー構造になります。

たとえば、次のようにします。

値にアクセスするために私が知っている唯一の方法は次のとおりです。

そして、この構成体は 1 つの小さな Option 値にアクセスするためだけのものであるため、これは非常に醜いです。

私がやりたいことは次のようなものです:

またはSwiftでできるように:

これらのことをうまく処理できるScalaの何かがありますか?

ありがとう!

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

ios - Swift、Joining (暗黙的にアンラップ) ジョイナーを使用したオプションの文字列

いくつか参加してみました[String!]。だから私はこのように作っています:

しかし、それでも複雑なようです。これを最適化するにはどうすればよいですか?

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

swift - オプションのチェーンを使用するように変更すると、強制的なアンラップが迅速に置き換えられたときの違いは何ですか?

オブジェクトインスタンスの関数を呼び出すと、オブジェクトが存在しない可能性があります(オプションのタイプ)。オブジェクト名の後ろに感嘆符を付ける代わりに、オブジェクト名の後ろに常に疑問符を付けることができ、クラッシュしないようです。

強制的なアンラップを使用する代わりに、オプションのチェーンを使用するようにいつでも変更でき、結果は同じですか? はいの場合、違いは何ですか?

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

swift - SwiftyJSON がその定数に対して暗黙的にアンラップされたオプションを作成するのはなぜですか?

SwiftlyJSONのコードでは、強制アンラップを使用して次の定数を定義します。

ここで暗黙的にアンラップされたオプションとして定数を宣言する目的は何ですか?

注:暗黙的にアンラップを使用する理由や時期を尋ねているのではなく、SwiftyJSON で使用する理由を尋ねているわけではありません。

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

sprite-kit - SKPhysicsBody のアンラップが機能しない

私のプロジェクトでは、RocketMaker というクラスを使用して新しいノードを作成します。このクラス内には、applyRecurringForce()...という関数があります。

私の問題は、メイン シーンからこの機能にアクセスできないことです。

上記のコードから始めて、2 つのエラーが発生します。1 つは のエラー、もう 1printlnつは の呼び出しのエラーapplyRecurringForce()です。

アプローチ 1 : 強制的なアンラップはありません...
1) println エラーは、"オプションの型 'SKPhysiceBody' の値がアンラップされていません。'!' を使用するつもりでしたか? また '?'?" そして、アンラップを強制することを提案し
ます 2) 呼び出しは「引数なしで 'applyRecurringForce' を呼び出せません」を返します

アプローチ2:「!」を追加します 提案された解決策に従ってください...
1) println エラーは前のアプローチと同じです": "オプションの型 'SKPhysiceBody' の値はラップされていません。「!」を使用するつもりでしたか? または '?'?" であり、再びアンラップを強制することを提案する
2) 呼び出しは、以前と同じエラーを返します。

Approach3 : だから私は "physicsBody!!" を使って連鎖をたどります。オーバーライド関数の両方の行で。今回は、2 つのエラーのうちの 1 つが削除されました...
1) println エラーがなくなりました
2) 呼び出しは、「'SKPhysicsBody には 'applyRecurringForce' という名前のメンバーがありません」を返します

呼び出しをコメントアウトすると、

physicsNodeName: タイプ:presentedObject:[ 名前:'rocket1' 位置:{56, 294} 蓄積フレーム:{{16.849998474121094, 280.20001220703125}, {78.300003051757812, 27.5999755859375}}]

誰が何が起きているのか考えていますか?? この二重のアンラップは、私には非常に奇妙に見えます。

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

swift - Swift:宣言でオプションではない変数をアンラップする必要があるのはなぜですか

テストの宣言で変数型を「強制的にアンラップ」する必要がある理由がわかりません。

より明確にするために例を挙げましょう:

したがって、目標は明らかに、テストを実行するたびにモック サービスの新しいインスタンスを作成することです。この変数を型として宣言する必要がある理由がわかりませんMockService!。このコンテキストで、タイプの後の感嘆符は実際には何を意味するのでしょうか?

明確にするために、mockService: MockServiceXcode を宣言すると、テスト クラスに初期化子がないと文句を言う