我在比较两个 ALAssets 对象时遇到了一些麻烦。我有两个 NSMutableArray:selectedImages 和 mutableAssets。我在那里存储 ALAssets 对象。但是当我想比较这些资产时,它不适用于 isEqual 或 containsObject 方法,只有当我通过它们的 url 比较它时它才有效:
ALAsset *asset1 = [self.mutableAssets objectAtIndex:0];
ALAsset *asset2 = [self.selectedImages objectAtIndex:0];
NSLog(@"%@", asset1);
NSLog(@"%@", asset2);
if([self.selectedImages containsObject:[self.mutableAssets objectAtIndex:0]]) {
NSLog(@"the same1");
}
if([asset1 isEqual:asset2]) {
NSLog(@"the sames2");
}
if([asset1.defaultRepresentation.url isEqual:asset2.defaultRepresentation.url]) {
NSLog(@"the same3");
}
只给出这一行:
ALAsset - Type:Photo, URLs:assets-library://asset/asset.JPG?id=E8947286-22E2-42E4-A904-14D940A387B3&ext=JPG
ALAsset - Type:Photo, URLs:assets-library://asset/asset.JPG?id=E8947286-22E2-42E4-A904-14D940A387B3&ext=JPG
the same3
为什么会发生?