2011-06-18 44 views
0

我不能刷新的tableView它崩溃,没有任何exception.i我把我的代码。请到让我知道我已经错了..问题的UITableView刷新

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     return 103; 
    } 

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     if(indexPath.row==[self.NewsArray count]) 
     { 
      MoreLoadingViewCell *cell = (MoreLoadingViewCell *)[tableView dequeueReusableCellWithIdentifier:@"MyCell"]; 
      if(cell==nil) 
      { 
       [[NSBundle mainBundle] loadNibNamed:@"MoreLoadingViewCell" owner:self options:nil]; 
       cell = moreViewCell; 
       cell.selectionStyle = UITableViewCellSelectionStyleNone; 
       //cell.backgroundView=nil; 
      } 
      return cell; 
     } 
     else 
     { 
      NewsCell *newsCell = (NewsCell *)[tableView dequeueReusableCellWithIdentifier:@"NewsCell"]; 
      if (newsCell == nil) 
      { 
       NSLog(@"create adcell object"); 
       [[NSBundle mainBundle] loadNibNamed:@"NewsCell" owner:self options:nil]; 
       newsCell=newsCellobject; 

      } 

      NewsObjectClass *object; 
      object=[self.NewsArray objectAtIndex:indexPath.row]; 
      NSString *title=[object valueForKey:@"title"]; 
      NSString *description=[object valueForKey:@"Description"]; 
      NSString *dateString=[object valueForKey:@"NewsDate"]; 
      newsCell.secondLabel.text=title; 
      newsCell.thirdLabel.text=description; 
      NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init]; 
      [dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; 
      NSDate *date=[dateFormatter dateFromString:dateString]; 
      [dateFormatter setDateFormat:@"YYYY MMM,dd hh:mm a"]; 

      NSString *date_new=[dateFormatter stringFromDate:date]; 
      NSLog(@"date is------ %@",date_new); 

      newsCell.DateLabel.text=date_new; 

      return newsCell; 

     } 

    } 


    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
     return 1; 
    } 

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
    { 
     NSLog(@"-----------------array count is----------------------- %d",[self.NewsArray count]); 
     if ([self.NewsArray count] == 0) 
     { 
      return 0; 
     } 
     return [self.NewsArray count]+1; 

    } 

    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 
    { 

     if(refreshing) 
     { 
      NSLog(@"I am a big BUG, hehe hahahaha"); 
      [spinner startAnimating]; 
      [self performSelector:@selector(getDetails:) withObject:@"0" afterDelay:1.0]; 
      //self.refreshing=NO; 
     } 


    } 

    - (void) scrollViewDidScroll:(UIScrollView *)scrollView{ 


     tempView.frame = CGRectMake(0,-80 - scrollView.contentOffset.y , 320,80); 
     if(scrollView.contentOffset.y < -60) 
     {  
      lbl.text = @"Release to Update"; 
     } 
     else 
     { 
      lbl.text = @"Pull down to Update"; 
     } 

    } 

    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate 
    { 

     if(scrollView.contentOffset.y<-60 && !refreshing) 
     { 
      refreshing=YES; 
     } 


    } 

` 
+2

在这里发布您的崩溃日志。 –

+0

@RahulVyas我没有得到任何崩溃的错误,而调试。它在移动崩溃 – girish

回答

1

安置自己的崩溃日志,你有没有试图通过放置断点来调试代码?在快速查看你的代码之后,我注意到你没有发布在 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath方法内初始化的NSDateFormatter * dateFormatter。这会导致巨大的内存泄漏。还NSLog跟随变量检查他们是否有预期值或无。

 
NSString *title=[object valueForKey:@"title"]; 
NSString *description=[object valueForKey:@"Description"]; 
NSString *dateString=[object valueForKey:@"NewsDate"]; 

+0

嗨adarsh我发布dateFormatter.but我的问题是,该应用程序不crashinh而调试。但调试后它崩溃。请你帮我解决这个问题 – girish

+0

请给我完整的代码。我会看看它。 –

+1

刚刚崩溃后键入bt并在控制台中按回车键。它会给你更多关于崩溃的细节。 –

0

尝试使用NSZombieEnabled环境变量并使用设备进行调试。你会发现崩溃的真正原因。