2016-09-14 3 views
1

Swift 3.0で動作するCocoaPodのポッド "Swift-YouTube-Player"を取得しようとしています。以下のコード(エラーは、let pathComponentsセクションを指しています)。あなたはこのような状況を打破する必要がありますので"条件バインディングの初期設定には '[String]'ではなく、オプションの型が必要です"

public func videoIDFromYouTubeURL(_ videoURL: URL) -> String? { 
    if let host = videoURL.host, let pathComponents = videoURL.pathComponents , pathComponents.count > 1 && host.hasSuffix("youtu.be") { 
     return pathComponents[1] 
    } 
    return videoURL.queryStringComponents()["v"] as? String 
} 

答えて

4

videoURL.pathComponentsのように見える「結合条件付きの初期化子はオプションの種類ではなく、 『[文字列]』を持つ必要がありますが」、オプションではありません。

public func videoIDFromYouTubeURL(_ videoURL: URL) -> String? { 
    if let host = videoURL.host { 
     let pathComponents = videoURL.pathComponents 
     if pathComponents.count > 1 && host.hasSuffix("youtu.be") { 
      return pathComponents[1] 
     } 
    } 
    return videoURL.queryStringComponents()["v"] as? String 
} 
関連する問題