myscheme:?id=test
これを に渡して[NSURL URLWithString:]
そのquery
プロパティを出力するとnil
、 が得られますが、コロン (または 2 つまたは 3 つ) の直後にスラッシュを配置すると、正常に動作します。
これは実際には無効な URL ですか、それとも のバグNSURL
ですか?
一部の調査によると、有効な URL のようです。http://url.spec.whatwg.org/から:
絶対 URL はスキームである必要があり、その後に「:」が続き、その後にスキーム データが続き、オプションで「?」が続きます。とクエリ。
および (強調を追加)
スキーム データの構文はスキームに依存し、通常はスキームと一緒に定義されます。相対スキームの場合、スキーム データはスキーム相対 URL である必要があります。他のスキームの場合、仕様または標準では、0 個以上のURL 単位の制約内でスキーム データを定義する必要があります。