| name | Swift Common Errors |
| description | Swift開発でよくあるエラーと修正方法のナレッジベース |
Swift開発 よくあるエラーと修正方法
このskillは、MochiLog開発中に発生したエラーとその修正方法を記録します。
エラー記録フォーマット
各エラーは以下の形式で記録:
- 日付: エラー発生日
- エラー内容: エラーメッセージと状況
- 原因: なぜエラーが発生したか
- 修正方法: どう修正したか
- 予防策: 今後同じエラーを防ぐ方法
記録されたエラー
1. 文字列補間内のエスケープエラー (2026-02-08)
エラー内容:
Cannot find ')' to match opening '(' in string interpolation
Unterminated string literal
発生コード:
print("[Performance] 処理完了: \(String(format: \"%.2f\", elapsed))ms")
原因:
文字列補間\(...)の内部で\"を使用すると、Swiftのパーサーが混乱する。
修正方法:
print("[Performance] 処理完了: \(String(format: "%.2f", elapsed))ms")
文字列補間の内部では、ダブルクォートをエスケープする必要はない。
予防策:
2. extensionからprivateプロパティへのアクセスエラー (2026-02-08)
エラー内容:
'appSettings' is inaccessible due to 'private' protection level
発生コード:
struct HomeView: View {
private let appSettings = AppSettings.shared
}
extension HomeView {
func someMethod() {
appSettings.someProperty
}
}
原因:
Swiftでは、privateなプロパティは同じファイル内でも、extension内からはアクセスできない。
修正方法:
struct HomeView: View {
let appSettings = AppSettings.shared
}
またはfileprivateを使用:
struct HomeView: View {
fileprivate let appSettings = AppSettings.shared
}
予防策:
- extensionで使用する可能性のあるプロパティは
privateにしない
fileprivateまたはinternal(デフォルト)を使用
使い方
エラー発生時
- このファイルを開く
- 上記のフォーマットに従って新しいエラーを記録
- 日付順に整理
参照時
- エラーメッセージで検索
- 類似のエラーパターンを確認
- 修正方法と予防策を適用
メンテナンス
エラーが20件を超えたら:
- カテゴリ別にファイルを分割(文字列、型、並行性など)
errors/ディレクトリを作成
- インデックスファイルで一覧管理
関連リソース