gpt4 book ai didi

ios - 使用 NSScanner 或 NSRange 作为 url 来查找 NSSet 对象

转载 作者:行者123 更新时间:2023-11-29 02:28:26 25 4
gpt4 key购买 nike

基本上,我试图在我的 webview 的 url 中找到 NSSet 对象。

我如何使用 NSScanner 或 NSRange 来做到这一点?

下面是我正在使用的内容。

    //External file links
NSURL* externalURL = [request URL];
NSString *externalFileExtension = [[request URL] pathExtension];


//External file extensions
NSLog(@"fileExtension is: %@", externalFileExtension);
NSSet *supportedFileExtensions = [NSSet setWithObjects:@"mpeg", @"mpg", @"m1s", @"mpa", @"mp2", @"m2a", @"mp2v", @"mv2", @"m2s", @"avi", @"mov", @"qt", @"asf", @"asx", @"wmv", @"wma", @"wmx", @"rm", @"ra", @"ram", @"rmvb", @"mp4", @"3gp", @"3gpp", @"ogm", @"mkv", @"flv", @"mv4", @"srt", @"swf", @"vob", @"aif", @"iff", @"m3u", @"m4a", @"mid", @"mp3", @"mpa", @"wav", @"aac", @"7z", @"cbr", @"deb", @"gz", @"pkg", @"rar", @"rpm", @"sitx", @"tar.gz", @"zip", @"zipx", @"ipsw", @"bin", @"cue", @"dmg", @"iso", @"mdf", @"toast", @"vcd", @"torrent", @"nes", @"rom", @"doc", @"docs", @"msg", @"odt", @"rtf", @"txt", @"wpd", @"wps", nil];

if ([supportedFileExtensions containsObject:externalFileExtension]) {
//my actions
}

由于链接类型的原因,有些网站并不完全使用文件扩展名,有些网站使用链接中的扩展名类型,即“zip=blahblah”或“blahblahzipblah”

我需要搜索单击的链接以找到 supportedFileExtensions 部分。

先谢谢你。

更新:感谢 rmaddy 让我朝着正确的方向前进。对于我最初的问题,它确实解决了它。但我在其他一些网站上使用时遇到问题。

我有一个 WebView ,其中有几个指向不同站点的链接,如 Media Fire、Copy、Box 等。甚至还有一个直接下载链接。例如,media fire 链接甚至无需访问该站点即可开始下载,几乎就像它只是下载文本一样。直接下载根本不会触发我的下载器。

使用公认的答案,区分它们的最简洁方法是什么?

最佳答案

下面应该是你想要的:

//External file links
NSURL* externalURL = [request URL];
NSString *urlString = [externalURL absoluteString];

NSSet *supportedFileExtensions = [NSSet setWithObjects:@"mpeg", @"mpg", @"m1s", @"mpa", @"mp2", @"m2a", @"mp2v", @"mv2", @"m2s", @"avi", @"mov", @"qt", @"asf", @"asx", @"wmv", @"wma", @"wmx", @"rm", @"ra", @"ram", @"rmvb", @"mp4", @"3gp", @"3gpp", @"ogm", @"mkv", @"flv", @"mv4", @"srt", @"swf", @"vob", @"aif", @"iff", @"m3u", @"m4a", @"mid", @"mp3", @"mpa", @"wav", @"aac", @"7z", @"cbr", @"deb", @"gz", @"pkg", @"rar", @"rpm", @"sitx", @"tar.gz", @"zip", @"zipx", @"ipsw", @"bin", @"cue", @"dmg", @"iso", @"mdf", @"toast", @"vcd", @"torrent", @"nes", @"rom", @"doc", @"docs", @"msg", @"odt", @"rtf", @"txt", @"wpd", @"wps", nil];

for (NSString *extension in supportedFileExtensions) {
if ([urlString rangeOfString:extension].location != NSNotFound) {
// Found extension somewhere in the URL - process it as needed
break; // stop looking for more
}
}

关于ios - 使用 NSScanner 或 NSRange 作为 url 来查找 NSSet 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27203585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com