NSIntegerMax vs NSUIntegerMax

NSUInteger index = [self.objects indexOfObject:obj];

if (index == NSNotFound) {
    // Success! Note: NSNotFound internally uses NSIntegerMax
}

if (index == NSUIntegerMax) {
    // Fails!
}

De ce? Presupun că pentru a obține o valoare nesemnată ca rezultat al indexOfObject. Deci, în mod firesc, presupuneam că dacă obiectul nu este găsit, acesta va returna NSUIntegerMax în loc de NSIntegerMax. Este o eroare sau există o explicație logică pentru acest comportament.

6
задан Mustafa 5 July 2011 в 11:07
поделиться