Korzystając z iPhone SDK, wybieram użytkownika z obrazka z selektora obrazu. Jeśli użytkownik wybierze wcześniej wybrany obraz, chciałbym poinformować o tym użytkownika.Oblicz sumę kontrolną na telefonie iPhone od NSData
Mój początkowy plan (aby upewnić się, że na razie działają inne rzeczy) to zapisanie obrazu do pliku (trzeba to zrobić z innych powodów), używając sumy kontrolnej NSData jako nazwy pliku. Następnie, gdy później wybiorą ten sam obraz, suma kontrolna będzie taka sama, więc widzę, że plik o tej nazwie już istnieje - hurra!
Przeszukałem jednak Internet i dokumenty Apple'a, aby dowiedzieć się, jak obliczyć sumę kontrolną z NSData. Wiem, że mógłbym wdrożyć własną implementację, ale wolałbym tego uniknąć, jeśli to możliwe. Cieszę się również z innych pomysłów, jak sprawdzić, czy dwie jednostki UII są takie same.
EDIT
Dwa lata temu obiecałem próbkę kodu, a tu jest. Naprawdę przepraszam za opóźnienie! :)
+(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" nie jest metodą zadeklarowaną w NSData. Ten przykładowy kod nie działa. : P –