Два способа сравнения UIImages показывают разные результаты. Какому из них верить?

Я пытаюсь сравнить два UIImage. Если я сравниваю их так:

if ([UIImagePNGRepresentation ( holderImage) isEqualToData:UIImagePNGRepresentation([UIImage imageNamed:@"empty_image.png"])])
            NSLog(@"empty image");
        else
            NSLog(@"not empty image");

результат - ДА, ОНИ РАВНЫ

если я делаю следующее

` if ([holderImage isEqual:[UIImage imageNamed:@"empty_image.png"]])
            NSLog(@"empty image");
        else
            NSLog(@"not empty image"); `

результат - НЕТ, ОНИ НЕ РАВНЫ

Ситуация довольно сложная, потому что:

1) Изображения ДОЛЖНЫ БЫТЬ (это значит, что я почти уверен) равны, поэтому я поверю первому, если

2) сравнение isEqual всегда дает истинный результат на других изображениях.

Так что я совсем запутался. Что вы думаете по этому поводу? Btw holderImage был взят из NSUserDefaults. Не думаете ли вы, что оно могло быть как-то изменено во время хранения в NSUserDefaults, так что сравнение isEqual теперь врет?

5
задан Andrey Chernukha 4 January 2012 в 10:33
поделиться