В каком случае нам нужен указатель на переменную BOOL на языке Objective C?
У меня есть код для сворачиваемого UITableView, в котором есть объявление функции:
- (void)toggle:(BOOL*)isExpanded section:(NSInteger)section;
и его определение:
- (void)toggle:(BOOL*)isExpanded section:(NSInteger)section
{
*isExpanded = !*isExpanded;
NSArray *paths = [self indexPathsInSection:section];
if (!*isExpanded)
{
[self.tableview deleteRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationFade];
}
else
{
[self.tableview insertRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationFade];
}
* isExpanded =! * IsExpanded; Каково значение этого оператора, поскольку я никогда не видел использовал этот вид оператора в случае переменной BOOL.
Ниже приведены две другие функции того же кода, которые вызываются в последовательности, указанной выше:
- (NSArray*)indexPathsInSection:(NSInteger)section
{
NSMutableArray *paths = [NSMutableArray array];
NSInteger row;
for ( row = 0; row < [self numberOfRowsInSection:section]; row++ )
{
[paths addObject:[NSIndexPath indexPathForRow:row inSection:section]];
}
return [NSArray arrayWithArray:paths];
}
- (NSInteger)numberOfRowsInSection:(NSInteger)section
{
return [[sectionDataArray objectAtIndex:section] count];
}
sectionDataArray - это массив для количества строк в каждом разделе. Я могу быть неясным, но если вы поняли мою точку зрения, пожалуйста, объясните все это.
Спасибо