2017-01-22 8 views
-1

最近私のコードを3速にアップグレードしました。私のアプリではAVPlayerに関連する2つのエラーがあります。AVPlayerで型の値を割り当てることができません

編集:ここでは、宣言は、次のとおりです。

func stream() { 
    let urlString = streamURLForSong 
    let urlItem = URL(string: urlString) 
    avPlayerItem = AVPlayerItem(url: urlItem!) // ERROR: Cannot assign value of type 'AVPlayerItem' to type 'AVPlayerItem?.Type?' 
    avPlayer = AVPlayer(playerItem: avPlayerItem!) // ERROR: Cannot convert value of type 'AVPlayerItem?.Type' (aka 'Optional<AVPlayerItem>.Type') to expected argument 'AVPlayerItem?' 
} 

は、これは前に働いたが、Xcodeのを使用してスウィフト3にアップグレードした後、エラーが上記のコメント:

public var avPlayer = AVPlayer() 
public var avPlayerItem = AVPlayerItem?.self 

は、ここで私が参照してる機能です示されています。

これを修正するにはどうすればよいですか?

ありがとうございます!

+0

我々は 'avPlayerItem'のあなたの宣言を見ることができますか? – Moshe

+0

'avPlayerItem'と' avPlayer'宣言を表示してください。 – shallowThought

+0

public var avPlayer = AVPlayer() public var avPlayerItem = AVPlayerItem?.self – Nick

答えて

1

私は、この機能をXcodeプレイグラウンドでわずかな変更を加えてコンパイルすることができました。私はダミーのアドレスをurlString作られ、そしてまた、我々はAVPlayerにそれを渡すときに、あなたのAVPlayerItemをアンラップ強制しないように、最後の行を変更し

import AVFoundation 

func stream() { 

let urlString = "http://google.com" 
let urlItem = URL(string: urlString) 
let avPlayerItem: AVPlayerItem? = AVPlayerItem(url: urlItem!) // ERROR: Cannot assign value of type 'AVPlayerItem' to type 'AVPlayerItem?.Type?' 
let avPlayer = AVPlayer(playerItem: avPlayerItem) // ERROR: Cannot convert value of type 'AVPlayerItem?.Type' (aka 'Optional<AVPlayerItem>.Type') to expected argument 'AVPlayerItem?' 

}

:私のバージョンでは、このように見えました。

編集:

あなたがavPlayerItemのためにどのようなデータ型を使用するスウィフトを伝えようとしている場合は、この構文を使用したい:

public var avPlayerItem: AVPlayerItem 

あなたがやったことは割り当てていますクラスそのものをavPlayerItem変数の内容としているため、実際にはデータ型はAVPlayerItem?ではなくAVPlayerItem?.Type?です。

1

このコードは間違っている:

public var avPlayerItem = AVPlayerItem?.self 

.selfを削除します。このコードではのタイプはになりますが、のインスタンスをここに追加します。 =を削除し、代わりに:を使用して、型を宣言します。単純な例を与えることを

、このコードは違法です:

var x = String?.self 
x = "howdy" // compile error 

これは、必要とされるものです。

var x : String? 
x = "howdy" 
+0

このような簡単な修正は、ありがとうございます! – Nick

関連する問題