知らなくて、APIのコールにつまずいた。
json -> swiftの型生成は quicktype を使った
(NewsAPIからデータを取得しようとしてデコードで失敗した話はこちら
【Swift】NewsAPIで取得したjsonのデコードで失敗して半日潰した話)
APIで日本語を含むURLからデータをとってきたい時はaddingPercentEncodingを使う必要があった
なので日本語を含むURLの場合は以下のように書くべきだった
※keyword
に日本語が入る
let NewsApiURL="https://newsapi.org/v2/everything?q=\(keyword)&num=3&sortBy=latest&apiKey=\(myApiKey)"
let encodedURL = NewsApiURL.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)
guard let url = NSURL(string: encodedURL!) else {
print("無効なURLです。")
return
}
のようにしてあげたらうまく行った。