我需要比较两个变量,以检查数组中是否存在索引:
indexPath.row
is NSInteger
[self arrayOfData].count
is NSUInteger
问题是它们属于不同的类型,当indexPath.row
=-1 时,它会自动转换为 18446744073709551615(无符号长),这是我试图避免的。
如何检查NSIndexPath
' 行定义的索引是否存在于 中NSArray
?
代码:
- (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;
}
}