NSURL OData URL
NSURL OData URL
我正在像这样将我的 OData URL 传递给 NSURL
NSURL *url = [[NSURL alloc] initWithString:@"https://localhost/odata/Venues?$expand=Fixtures($filter=day(DateTime) eq 9 and month(DateTime) eq 3 and year(DateTime) eq 2020)&$filter=Fixtures/any(f: day(f/DateTime) eq 9 and month(f/DateTime) eq 3 and year(f/DateTime) eq 2020)"];
这个URL不被NS接受URL,它正在变成NULL
当我这样给URL
NSURL *url = [[NSURL alloc] initWithString:@"https://google.com"];
然后 NSURL 正在接受 URL... 我想知道如何将我的数据 URL 传递给 NSURL.
URL 包含几个需要转义的字符。这绝对不是 URL 的工作方式,因此方法 initWithString
失败并返回 NULL...
在大多数情况下,我都遇到过需要转义 URL 的情况,方法 stringByAddingPercentEscapesUsingEncoding
已经足够了,因为它们相对较短 URL秒。尽管如此,你的 URL 有很多这种方法不太喜欢的字符。 (这包括斜杠 /
和符号 &
)。
对于这种特殊情况,以下方法可能会在保持简单的同时产生最佳结果。
NSString* unencodedURLString = @"https://localhost/odata/Venues?$expand=Fixtures($filter=day(DateTime) eq 9 and month(DateTime) eq 3 and year(DateTime) eq 2020)&$filter=Fixtures/any(f: day(f/DateTime) eq 9 and month(f/DateTime) eq 3 and year(f/DateTime) eq 2020)";
NSString* urlString = [unencodedURLString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
如果这对您有用,请告诉我们...
我正在像这样将我的 OData URL 传递给 NSURL
NSURL *url = [[NSURL alloc] initWithString:@"https://localhost/odata/Venues?$expand=Fixtures($filter=day(DateTime) eq 9 and month(DateTime) eq 3 and year(DateTime) eq 2020)&$filter=Fixtures/any(f: day(f/DateTime) eq 9 and month(f/DateTime) eq 3 and year(f/DateTime) eq 2020)"];
这个URL不被NS接受URL,它正在变成NULL
当我这样给URL
NSURL *url = [[NSURL alloc] initWithString:@"https://google.com"];
然后 NSURL 正在接受 URL... 我想知道如何将我的数据 URL 传递给 NSURL.
URL 包含几个需要转义的字符。这绝对不是 URL 的工作方式,因此方法 initWithString
失败并返回 NULL...
在大多数情况下,我都遇到过需要转义 URL 的情况,方法 stringByAddingPercentEscapesUsingEncoding
已经足够了,因为它们相对较短 URL秒。尽管如此,你的 URL 有很多这种方法不太喜欢的字符。 (这包括斜杠 /
和符号 &
)。
对于这种特殊情况,以下方法可能会在保持简单的同时产生最佳结果。
NSString* unencodedURLString = @"https://localhost/odata/Venues?$expand=Fixtures($filter=day(DateTime) eq 9 and month(DateTime) eq 3 and year(DateTime) eq 2020)&$filter=Fixtures/any(f: day(f/DateTime) eq 9 and month(f/DateTime) eq 3 and year(f/DateTime) eq 2020)";
NSString* urlString = [unencodedURLString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
如果这对您有用,请告诉我们...