Example 1: assemble the url with slash and it compares the appendPathComponent with URLComponents
1 2 3 4 5 6 7 | a ?. appendPathComponent ( "ok" , isDirectory : true ) b ?. queryItems = [ URLQueryItem ( name : "api-key" , value : "api-values" )] print ( a ) print ( b ) |
Example 2: the difference between appendPathComponent
and appendingPathComponent
.
appendPathComponent
would change the original url
appendingPathComponent
will not change the original url but will return a new value.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | let c = a ?. appendPathComponent ( "ok" ) print ( "c: " , c ) print ( "a: " , a ) print ( "a?.absoluteURL: " , a ?. absoluteURL ) print ( "a?.baseURL: " , a ?. baseURL ) print ( "a?.relativePath: " , a ?. relativePath ) print ( "a?.relativeString: " , a ?. relativeString ) print ( "\n\n\n" ) let d = b ?. appendingPathComponent ( "ok" ) print ( "d: " , d ) print ( "b: " , b ) print ( "b?.absoluteURL: " , b ?. absoluteURL ) print ( "b?.baseURL: " , b ?. baseURL ) print ( "b?.relativePath: " , b ?. relativePath ) print ( "b?.relativeString: " , b ?. relativeString ) |