Сбой приложения при запуске на IOS 5.0, щелкнув табличное представление; - PullRequest
0 голосов
/ 23 декабря 2011

Я сделал код, чтобы показать исчезновение ячейки при нажатии на Отдел, код хорошо работает для IOS 3.0 и 4.o код выглядит как

- (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];
}
- (void)toggle:(BOOL*)isExpanded section:(NSInteger)section {
       *isExpanded = !*isExpanded;


    [Table beginUpdates];
    if ( !*isExpanded ) 
       {  
         NSArray *paths = [self indexPathsInSection:section];
          [Table deleteRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationFade];

         }
   else {
            NSArray *paths = [self indexPathsInSection:section];
            [Table insertRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationRight];
             }


   [Table endUpdates];
   [Table reloadData];
   }
- (NSInteger)numberOfRowsInSection:(NSInteger)section {

if(kMAX_SECTION_ROWS[section] == 0)
{
    return 1;
}
else
{
    return kMAX_SECTION_ROWS[section];
}
//return 0;
 }

  - (void)toggleSection:(id)sender {
   NSLog(@"button %d is clicked.",[sender tag]);
int i = [sender tag];
if(!isSectionExpanded[i]){
    NSLog(@"expanded");
    hString[i].arrowImage.image = [UIImage imageNamed:@"downarrow.png"];
}
else {
    NSLog(@"not expanded");
    hString[i].arrowImage.image = [UIImage imageNamed:@"arrowgrean.png"];
}

[self toggle:&isSectionExpanded[i] section:i];
 }

когда я запускаю код в IOS 5, он показывает мне ошибку

     Assertion failure in -[_UITableViewUpdateSupport    _computeRowUpdates],/SourceCache/UIKit_Sim/UIKit-1912.3/UITableViewSupport.m:386              

если есть подсказка, ответьте спасибо

Ответы [ 2 ]

0 голосов
/ 23 декабря 2011

Привет, друзья, у меня есть блог, в котором я нашел источник для того же самого, который работает на каждом ios, поэтому любой желающий может просто перейти по адресу: http://soulwithmobiletechnology.blogspot.com/2011/06/how-does-uitableviewcell-reorder.html

Я думаю, это сэкономит вам много времени, спасибо

0 голосов
/ 23 декабря 2011

Возможно, iOS5 более требователен к тому, что вы говорите.Когда вы пишете

if(kMAX_SECTION_ROWS[section] == 0)

, вы действительно должны возвращать 0, а не 1 (или возвращать заголовок раздела где-то еще).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...