Mit dem iPhone SDK, ich habe den Benutzer wählen Bilder aus der Bildauswahl. Wenn der Benutzer ein zuvor ausgewähltes Bild auswählt, möchte ich den Benutzer darauf aufmerksam machen.Berechnen Sie eine Prüfsumme auf dem iPhone von NSData
Mein erster Plan (nur um sicherzustellen, dass andere Dinge jetzt funktionieren) ist, das Bild in einer Datei zu speichern (dies muss aus anderen Gründen geschehen), indem eine Prüfsumme der NSData als Dateiname verwendet wird. Wenn sie dann später dasselbe Bild auswählen, ist die Prüfsumme gleich und so kann ich sehen, dass bereits eine Datei mit diesem Namen existiert - hurra!
Allerdings habe ich das Internet und die Apple-Dokumente für die Berechnung einer Prüfsumme aus einem NSData durchforstet. Ich weiß, dass ich meine eigene Implementierung implementieren könnte, aber ich würde es lieber vermeiden, wenn möglich. Ich bin auch glücklich für andere Ideen, wie man überprüft, dass zwei UIImagages gleich sind.
EDIT
Vor zwei Jahren habe ich versprochen, ein Codebeispiel, und hier ist es. Tut mir wirklich leid für die Verzögerung! :)
+(NSString*)imageIdForData:(NSData*)data
{
char* result = (char*) [[data MD5Sum] bytes];
NSString* hash = [NSString stringWithFormat: @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
result[0], result[1],
result[2], result[3],
result[4], result[5],
result[6], result[7],
result[8], result[9],
result[10], result[11],
result[12], result[13],
result[14], result[15]];
return hash;
}
"MD5Sum" ist keine für NSData deklarierte Methode. Dieses Codebeispiel funktioniert nicht. : P –