0

嗨,我在这里有一组代码,用于比较图像的 URL。这是从图书馆来的。一个多图像选择器,我知道在这些代码中,otherUrls 是选择的图像,而 selfUrls 是照片库/相机胶卷包含的图像。

有人可以帮助我,使其成为快捷方式,不与每个 URL 进行比较,直接跳到它,或快速比较。希望有人可以帮助我。导致当它与所有 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];
}
4

1 回答 1

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 个字符。如果它们与相机胶卷格式不同,那么您就知道它不是来自相机胶卷(满嘴)。

希望这可以帮助。

于 2012-07-30T21:42:57.387 回答