如何减去两个 NSUInteger 变量?
How can I subtract two NSUInteger variables?
有没有办法用 Objective-C 减去两个或多个 NSUInteger 值?
这是我的代码
__block NSUInteger *removedElementsCount = 0;
__block BOOL lastIsSuperElement = NO;
// Get the elements not collapsed
[_elements enumerateObjectsUsingBlock:^(id __nonnull obj, NSUInteger idx, BOOL * __nonnull stop) {
if (_isHidingSubElementsBlock(obj)){
//_collapseSubCellsAtIndexPathBlock(idx+_elementsOffset);
[elementToRemove addObject:(Task *)obj];
lastIsSuperElement = YES;
[indexPathToRemove addObject:[NSIndexPath indexPathForRow:(idx-removedElementsCount) inSection:0]];
removedElementsCount = 0;
} else if (lastIsSuperElement){
removedElementsCount++;
lastIsSuperElement = NO;
}
}];
当我尝试使用 idx-removedElementsCount 创建新的 NSIndexPath 时,出现以下错误:
HTReorderTableCells.m:231:75: Invalid operands to binary expression ('NSUInteger' (aka 'unsigned int') and 'NSUInteger *' (aka 'unsigned int *'))
我一直在寻找解决方案,但我什么也没找到。
将 NSInteger 用于您的解决方案。
NSUInteger value1 = 5;
NSUInteger value2 = 3;
NSInteger subs = value1 - value2;
在您的代码中修复 removedElementsCount
的声明(删除 *)
removedElementsCount
不是 NSUInteger
,而是 NSUInteger*
(指向整数的指针)。
尝试更改表达式以在减法之前取消引用指针。
idx - (*removedElementsCount)
有没有办法用 Objective-C 减去两个或多个 NSUInteger 值?
这是我的代码
__block NSUInteger *removedElementsCount = 0;
__block BOOL lastIsSuperElement = NO;
// Get the elements not collapsed
[_elements enumerateObjectsUsingBlock:^(id __nonnull obj, NSUInteger idx, BOOL * __nonnull stop) {
if (_isHidingSubElementsBlock(obj)){
//_collapseSubCellsAtIndexPathBlock(idx+_elementsOffset);
[elementToRemove addObject:(Task *)obj];
lastIsSuperElement = YES;
[indexPathToRemove addObject:[NSIndexPath indexPathForRow:(idx-removedElementsCount) inSection:0]];
removedElementsCount = 0;
} else if (lastIsSuperElement){
removedElementsCount++;
lastIsSuperElement = NO;
}
}];
当我尝试使用 idx-removedElementsCount 创建新的 NSIndexPath 时,出现以下错误:
HTReorderTableCells.m:231:75: Invalid operands to binary expression ('NSUInteger' (aka 'unsigned int') and 'NSUInteger *' (aka 'unsigned int *'))
我一直在寻找解决方案,但我什么也没找到。
将 NSInteger 用于您的解决方案。
NSUInteger value1 = 5;
NSUInteger value2 = 3;
NSInteger subs = value1 - value2;
在您的代码中修复 removedElementsCount
的声明(删除 *)
removedElementsCount
不是 NSUInteger
,而是 NSUInteger*
(指向整数的指针)。
尝试更改表达式以在减法之前取消引用指针。
idx - (*removedElementsCount)