В настоящее время у меня есть список имен файлов, которые я вставляю в Alamofire.request
, чтобы в конечном итоге .append
"videoId"
из файла JSON с Youtube. Когда я жестко закодирую поисковые запросы в списке, который, как я знаю, приведет к результатам видео, это прекрасно работает. Но, к сожалению, некоторые из имен файлов в списке не находят видео. это приводит к fatal error: Index out of range
Я надеюсь найти способ перейти к следующему элементу в списке, когда "videoId"
недоступен. Я экспериментировал с else
, continue
и т. Д., Но никогда не мог понять это правильно. так что в этом примере нет попыток перебрать неудачный поиск
Я новичок в кодировании, поэтому не стесняйтесь менять, если я полностью выключен.
Вот мой код. Это внутри моей функции, которая также получает мои нужные имена файлов и вставляет их в [String]
for i in testList {
Alamofire.request("https://www.googleapis.com/youtube/v3/search?key=\(API_Key)&part=snippet&q=\(i)%20Music%20Video&maxResults=1&type=video&order=relevance").responseJSON { (response) in
print("Result: \(response.result)")
var json = JSON(response.result.value as Any)
print(json)
if let _ = json["items"].array{
if json["items"].arrayValue[0]["id"].exists(){
let songPath = json["items"].arrayValue[0]["id"]
let videoIdPath = songPath["videoId"].stringValue
var arrayOfVideos = ""
arrayOfVideos.append(videoIdPath)
print(arrayOfVideos)
videoArray += [arrayOfVideos] }
Это ответ на запрос YouTube для контекста
Result: SUCCESS
{
"items" : [
{
"etag" : "\"95M1zlW0txkV42I4OG1Zscxrg5A\/TwSmd4IGGf1uBi-y10rCaZ53JsU\"",
"kind" : "youtube#searchResult",
"id" : {
"kind" : "youtube#video",
"videoId" : "9jfhlttiQws"
},
"snippet" : {
"thumbnails" : {
"default" : {
"url" : "https:\/\/i.ytimg.com\/vi\/9jfhlttiQws\/default.jpg",
"width" : 120,
"height" : 90
},
"high" : {
"url" : "https:\/\/i.ytimg.com\/vi\/9jfhlttiQws\/hqdefault.jpg",
"width" : 480,
"height" : 360
},
"medium" : {
"url" : "https:\/\/i.ytimg.com\/vi\/9jfhlttiQws\/mqdefault.jpg",
"width" : 320,
"height" : 180
}
},
"channelId" : "UCdWVO7O7stk7MNKVARRV8rw",
"title" : "LUAM - Clockwork Indigo (The Flatbush ZOMBiES + The Underachievers) (LYRICS)",
"publishedAt" : "2014-10-19T01:37:31.000Z",
"description" : "LUAM by clockwork Indigo consisting of Beast Coast rap groups Flatbush ZOMBiES & The Underachiever off of their collaborative Debut Mixtape \"Clockwork ...",
"liveBroadcastContent" : "none",
"channelTitle" : "JayMendezTv"
}
}
],
"kind" : "youtube#searchListResponse",
"nextPageToken" : "CAEQAA",
"regionCode" : "US",
"pageInfo" : {
"resultsPerPage" : 1,
"totalResults" : 10073
},
"etag" : "\"95M1zlW0txkV42I4OG1Zscxrg5A\/KIryoSi8eZnM0UdfR0ZqyaHGB_k\""
}
9jfhlttiQws