基于iOS上的URL生成文件名?

基于iOS上的URL生成文件名?,ios,objective-c,url,nsstring,plist,Ios,Objective C,Url,Nsstring,Plist,我需要在我的应用程序中存储一些持久数据,这些数据应该特定于我请求数据的URL。 例如,如果我向发出请求,我需要在我的文档文件夹中存储该URL唯一的plist。因此,如果对同一URL发出了另一个请求,我可以在我的documents文件夹中编辑相同的plist 暂时我是这样生成的,但我需要一个更好的解决方案: NSString *filename = stringForURL; filename = [filename stringByReplacingOccurrencesOfString:@"/

我需要在我的应用程序中存储一些持久数据,这些数据应该特定于我请求数据的URL。 例如,如果我向发出请求,我需要在我的文档文件夹中存储该URL唯一的plist。因此,如果对同一URL发出了另一个请求,我可以在我的documents文件夹中编辑相同的plist

暂时我是这样生成的,但我需要一个更好的解决方案:

NSString *filename = stringForURL;
filename = [filename stringByReplacingOccurrencesOfString:@"/" withString:@"__"];
filename = [filename stringByReplacingOccurrencesOfString:@"?" withString:@""];
filename = [filename stringByAppendingPathExtension:@"plist"];
然后我用这个文件名写字典


编辑:好吧,我想我没有解释清楚。我基本上想为给定的URL生成一个唯一的文件名。任何相同的URL都应生成相同的文件名,而两个不同的URL应生成不同的文件名。

如果我了解您的问题,您希望在更改后返回相同的URL。如果是,则在查找字符串时使用相同的代码

创建一个包含所有已更改和保存的URL的数组

NSString *theURLyouAreLookingFor= "myURL" ;
theURLyouAreLookingFor = [filename stringByReplacingOccurrencesOfString:@"/" withString:@"__"];
theURLyouAreLookingFor = [filename stringByReplacingOccurrencesOfString:@"?" withString:@""];
的用法等同于:
与您正在查找的
URL一起使用,并在保存的URL数组中查找它


这不是最好的解释方法,但希望能有所帮助。

使用以URL为键的MD5哈希解决了问题。

你的问题是什么?看起来您只是在这里寻找代码检查。如果这是您想要的,请尝试。当然,可以尝试CR-但理想情况下,提供更多的上下文,而不仅仅是一个特定的小片段。好的CR问题往往至少涉及一个方法或一个类。那可能会对你有帮助。好吧,我想我没有解释清楚。我基本上想为给定的URL生成一个唯一的文件名。任何相同的URL都应该生成相同的文件名,两个不同的URL应该生成不同的文件名。谢谢Shineeth Hamza,这非常有用。我将只使用MD5哈希来生成文件名。