[解決済み] swiftでイニシャライザーの呼び出しに完全一致しないエラーメッセージが表示される
2022-03-02 18:44:47
質問
混乱しています。このコードを実行すると、なぜ "No exact matches in call to initializer" というエラーが発生するのか、どなたか教えてください。
let bill = textField.text
let billTotal = Double(bill)
しかし、textField.textを強制的にアンラップすると、エラーはなくなり、すべてがうまくいきます...。
let bill = textField.text!
let billTotal = Double(bill)
私の考えでは、強制アンラップしなくても動作するはずですが、textFieldがnilの場合、アプリはクラッシュします。
また、強制アンラップの代わりにオプショナルを使用することはできないのでしょうか?
let bill = textField.text?
let billTotal = Double(bill)
オプショナルを使用すると、同じエラーが発生します:"No exact matches in call to initializer"
どうすればいいですか?
エラーが発生する原因
text
はオプションで、イニシャライザー・パラメーターは非オプションでなければなりません。
私の考えでは、強制アンラップしなくても動作するはずですが、textFieldがnilの場合、アプリはクラッシュします。
この場合、強制アンラップは
text
プロパティの
UITextField
は決して
nil
はオプションとして宣言されていますが。
しかし、その代わりに、作成された
Double
に変換できない可能性があるため、入力されたテキストは
Double
デフォルトの値である
let billTotal = Double(textField.text!) ?? 0.0
または、より高度なエラーハンドリングを提供する
if let billTotal = Double(textField.text!) {
// do something with billTotal
} else {
// handle the error
}
関連
-
[解決済み】リンカーコマンドが終了コード1で失敗(起動を確認するには-vを使用)、Xcode 8、Swift 3
-
[解決済み】Xcode 10.2.1 Command PhaseScriptExecutionが0以外の終了コードで失敗した。
-
[解決済み] ウィンドウ階層にないビューを持つUIViewControllerでUIViewControllerを表示しようとする
-
[解決済み] 新しいアウトレット接続を挿入できませんでした。という名前のクラスの情報が見つかりませんでした。
-
[解決済み] ios8ではdidRegisterForRemoteNotificationsWithDeviceTokenは呼ばれないが、didRegister...Settingsは呼ばれる。
-
[解決済み] Swift の performSegueWithIdentifier が動作しない。
-
[解決済み] アプリケーションは、アプリケーション起動の最後にルートビューコントローラーを持つことが期待される
-
[解決済み] Unwind segue - インスタンスメソッドのみ @IBAction を宣言でき、ボタンが Exit に接続しない
-
[解決済み] Swift 4 データが正しい形式でないため、読み取ることができませんでした。
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
[解決済み] リンカーコマンドが終了コード 1 で失敗した(起動を確認するには -v を使用)、Xcode 8、Swift 3
-
[解決済み] EXC_CORPSE_NOTIFY シンボルのクラッシュが発生しました、追跡するには?
-
[解決済み] キャッチできない例外 'NSInvalidArgumentException', reason: '-[_.AppDelegate add:]: unrecognized selector' により、アプリを終了する。
-
[解決済み] NSIntegerからNSStringデータ型に変換するにはどうすればよいですか?
-
[解決済み] CocoaPods は、ポッド "Firebase/CoreOnly" の互換性のあるバージョンを見つけられませんでした。
-
[解決済み] Xcode 4のBundle creator OS Type code ?
-
[解決済み] iOS 9 : ユニバーサルアプリの警告「アプリがフルスクリーンを必要としない限り、すべてのインターフェイスの向きをサポートする必要があります」。
-
[解決済み] アプリケーションは、アプリケーション起動の最後にルートビューコントローラーを持つことが期待される
-
[解決済み] CFBundleVersionとCFBundleShortVersionStringには、どのような値を使用すればよいですか?