Сравнение NSInteger и NSUInteger

У меня есть две переменные, которые мне нужно сравнить, чтобы проверить, существует ли индекс в массиве: indexPath.rowNSInteger [self arrayOfData].count- NSUInteger

Проблема в том, что они имеют разные типы, а когда indexPath.row= -1, он автоматически преобразуется в 18446744073709551615 (NSIndexPath), чего я пытаюсь избежать.

Как проверить, существует ли индекс, определенный по NSArrayстроке s в ?- (void) checkIfIndexExists:(NSIndexPath*) indexPath inArray:(NSArray*)arrayOfData { if (indexPath.row >= [self arrayOfData].count) { // indexPath.row=-1 gets interpretted as 18446744073709551615 (unsigned long) DDLogDebug(@"Warning: Index doesn't exist {%@}", indexPath); return; } }

Код:

unsigned long

objective-c,nsarray,nsindexpath,nsinteger,nsuinteger,

0