Utilizzando l'SDK iPhone, sto facendo in modo che l'utente selezioni le immagini dal selettore di immagini. Se l'utente seleziona un'immagine che ha selezionato in precedenza, vorrei rendere l'utente consapevole di ciò.Calcola un checksum su iPhone da NSData
Il mio piano iniziale (solo per assicurarsi che altre cose funzionino per ora) è quello di salvare l'immagine in un file (è necessario farlo comunque per altri motivi), utilizzando un checksum del NSData come nome file. Quindi, quando selezionano la stessa immagine in seguito, il checksum sarà lo stesso e quindi posso vedere che esiste già un file con quel nome - evviva!
Tuttavia, ho analizzato Internet e i documenti Apple per calcolare un checksum da un NSData. So che potrei implementare la mia implementazione, ma preferirei evitarlo, se possibile. Sono anche felice per altre idee su come verificare che due UIImages siano uguali.
EDIT
Due anni fa ho promesso un esempio di codice, ed eccolo qui. Davvero dispiaciuto per il ritardo! :)
+(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" non è un metodo dichiarato su NSData. Questo esempio di codice non funziona. : P –