Pracuję nad kategorią dla NSArray
, a jedna z zaimplementowanych przeze mnie funkcji ma na celu zwrócenie liczby łańcuchów (lub liczb) w tablicy. Wszystko działa dobrze, ale moje pytanie dotyczy użycia NSNotFound
jako zwrotu w przypadku, gdy liczba tablic wejściowych wynosi zero.Czy powracający NSNotFound dla NSUInteger jest wskazany?
Apple docs stan:
NSNotFound jest zwykle używany przez różnych metod i funkcji, które wyszukiwania dla elementów w danych szeregowych i powrotu wskaźników, takich jak znaki w obiekcie String lub identyfikatory w obiekcie NSArray.
To ma sens, gdybym użył indexOfObject:
dla przedmiotu, który nie był w tablicy. Ale używa się NSNotFound
w kontekście pokazanym poniżej poprawnego użycia? Pewnie, że mogę po prostu zwrócić zero i nazwać to dziennie, ale byłoby pomocne zobaczenie 2147483647
i natychmiastowe poznanie, gdzie jest problem.
- (NSUInteger)countOfStringsInArray {
NSUInteger currentCount = 0;
if ([self count] > 0) {
for (id obj in self) {
if (![obj integerValue]) {
currentCount ++;
}
}
return currentCount;
}
return NSNotFound;
}