前提
Xcodeでswiftを使ったiosアプリ開発を勉強しています。
プロジェクトを「Single View App」で開始し、デフォルトのコードを理解しようとしているのですが、その中でViewプロトコルがstructで継承されていました。
これをclassで継承する(finalでないとエラーメッセージが出ていたのでfinalとしています)と、ビルドは出来るのですが実行中にエラーが発生します。
まだswiftという言語に触れたばかりでなぜ実行時にエラーになるのか分かりません。
単純にデフォルトのstructにすればエラーの解決はするのですが言語を理解する上でもなぜclass継承すると実行時にエラーになるのかの理由を知りたいです。
なぜエラーが発生するのか、またclassで継承することはできないのかお教えいただきたいです。
よろしくお願いいたします。
該当のソースコード
swift
1final class ContentView: View { 2 init() {} 3 var body: some View { 4 Text("Hello World!") 5 } 6}
他のデフォルトコードは変更していません。
発生している問題・エラーメッセージ
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
補足情報(FW/ツールのバージョンなど)
Xcode11.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/28 14:42