您好我在这里有一组代码,用于比较图片的网址。这是来自图书馆。多个图像拾取器, 我知道在这些代码中,otherUrls是拾取的图像,而selfUrls是photolibrary / camera roll包含的图像。
有人可以帮助我,使这个快捷方式,不与每个网址进行比较,只是跳过它,或快速比较。希望有人可以帮助我。因为当它与所有selfUrls相比时,它会崩溃。由于图片太多。
- (BOOL)isEqual:(id)other
{
if (other == self)
return YES;
if (!other || ![other isKindOfClass:[self class]])
return NO;
ALAsset *otherAsset = (ALAsset *)other;
NSDictionary *selfUrls = [self valueForProperty:ALAssetPropertyURLs];
NSDictionary *otherUrls = [otherAsset valueForProperty:ALAssetPropertyURLs];
return [selfUrls isEqualToDictionary:otherUrls];
}
答案 0 :(得分:0)
根据我对你的问题的理解,这很简单。我不会为你编写确切的代码,但会给你一些指示。
首先我们需要找到相机卷URL的格式(所以我们知道要跳过哪些)。
所以要做到这一点,创建一个简单的调用来启动相机胶卷。它将具有我们将使用的委托方法didFinishPickingMediaWithInfo
。它返回与您选择的图像相关的信息。我们可以轻松地提取图像的URL。
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
[self dismissModalViewControllerAnimated:YES];
//Get the image url
NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];
//Convert url to string
NSString *urlString = [url absoluteString];
//Print it out
NSLog(@"Our string format = %@", urlString);
}
现在我们知道了相机卷的URL格式。你可以知道的是看,并说,“好吧,从相机胶卷拉出的每个URL的前10个字符是相同的”。当您循环检查URL时,请检查前10个字符。如果它们与相机胶卷格式不同,那么您就知道相机胶卷中的不是(满口)。
希望这会有所帮助。