Cannot find 'JSONEncoder' in scope
というエラーの対処
あまりに初歩的ゆえに、なかなか見つからず困ったのでメモ。
##環境
プログラム | バージョン |
---|---|
Xcode | Version 12.5 |
swift | Version 5.4 |
##状況
Jsonのエンコード・デコードのやり方を調べるためにApple Developer Documentation に記載されている通り、以下のコードをプレイグラウンドで実行したところJSONEncoder
のところでエラーが出た。
MyPlayground.playground
struct GroceryProduct: Codable {
var name: String
var points: Int
var description: String?
}
let pear = GroceryProduct(name: "Pear", points: 250, description: "A ripe pear.")
let encoder = JSONEncoder() // エラー:Cannot find 'JSONEncoder' in scope
encoder.outputFormatting = .prettyPrinted
let data = try encoder.encode(pear)
print(String(data: data, encoding: .utf8)!)
原因
フレームワークをインポートしていない。
対処
import Foundation
を先頭に追加。
ちなみに、frameworkはApple Developer Documentationの右側にAvailabilityなどと一緒に記載されている。