Swift 3でURLを宣言するにはどうすればよいですか?
これは私の試みたコードです:
var messageURL: URL = URL()
OR
var messageURL: Foundation.URL = URL()
これはエラーです:引数なしで「URL」タイプの初期化子を呼び出すことはできません
Appleからのいくつかのドキュメント(Swift 3.0)は次のとおりです。
NSプレフィックスを削除した後、名前がFoundationタイプと競合するプロパティは、モジュール修飾されたタイプ名になります。たとえば、var URL:NSURLがある場合、var URLとして書き換えられます。 Foundation.URL
Swift 3にはURL
(a struct
)とNSURL
(ObjCから継承したclass
)があります。状況はString
やNSString
のようなものです。これに近づくには2つのオプションがあります。
1:宣言時にURLがわかっている場合:
let url = URL(string: "https://www.Apple.com")
2:後でURLについてのみ調べることができる場合:
var url: URL!
// You can check if the variable is initialized by checking it against nil:
// if url == nil { /* not initialized */ }
// When you are ready to assign it a value:
url = URL(string: "https://www.Apple.com")
Swift 3に移行したときに同じ問題に直面していましたが、スタックした後、移行前にURL
と呼ばれるクラスを作成したことがわかりました。財団のURL
構造体と作成の問題。
In Swift 3 URLには多くの初期化子がありますが、それらはすべて文字列またはデータの引数を取ります。