2016-05-19 16 views
0

テーブルビューをスクロールして新しいセルが表示されるたびに、新しいセルが表示されるたびにミリ秒のようにスタックされます。テーブルビューがスムーズにスクロールしないiOS xcode

私はMY ARRAY

- (void) retrieveStrings { 

    PFQuery *retrieveAllPictures = [PFQuery queryWithClassName:@"String_Pictures"]; 
    [retrieveAllPictures includeKey:@"string_owner"]; 
    [retrieveAllPictures whereKey:@"string_boss" equalTo:[PFObject objectWithoutDataWithClassName:@"String" objectId:original_string_objectID]]; 
    retrieveAllPictures.limit = [loadingNumber intValue]; 
    [retrieveAllPictures orderByDescending:@"createdAt"]; 

    [retrieveAllPictures findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { 
     if (!error) { 

       originalString = [[NSArray alloc]initWithArray:objects]; 
       [self.StringTable reloadData]; 

     } 
    }]; 
} 

が、これは私がSDWEBIMAGEを使用して解決策を発見したインデックスパス

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"originalStringCell"; 

    OriginalStringTableViewCell *originalCell = [StringTable dequeueReusableCellWithIdentifier:CellIdentifier]; 

    tempObject = [originalString objectAtIndex:indexPath.row]; 
    userObject = [tempObject objectForKey:@"string_owner"]; 
    originalTempString = [tempObject objectForKey:@"string_image"]; 

[originalTempString getDataInBackgroundWithBlock:^(NSData *data, NSError *error) { 
     if (!error) { 

      originalCell.original_string_image.image = [UIImage imageWithData:data]; 

      CGFloat ImageWidth = ceil(originalCell.original_string_image.image.size.width); 
      CGFloat ImageHeight = ceil(originalCell.original_string_image.image.size.height); 
      CGFloat NewWidth = ceil ((ImageWidth/ImageWidth) * StringTable.frame.size.width); 
      CGFloat NewHeightImageRow = ceil ((ImageHeight/ImageWidth) * StringTable.frame.size.width); 

      originalCell.original_string_image.frame = CGRectMake(0, 53, NewWidth, NewHeightImageRow); 
      NSLog(@"%f",NewWidth); 

      [originalCell.stringIndicator stopAnimating]; 
      originalCell.stringIndicator.hidden = YES; 

      [SVProgressHUD dismiss]; 

     } 
    }]; 

    return originalCell; 

} 
+0

気にしない人は、私はあなたが自分でそれを理解しても、答えはなく、編集などの溶液を投稿SDWebImage – user3147328

+0

を使用して、それを自分自身を発見しました。 –

+0

Tim Wilkinson、ok thx私はそれを変更しました – user3147328

答えて

0

AT ROW FOR MY CELLされるクエリところです。

SDWebImageManager *StringPicturemanager = [SDWebImageManager sharedManager]; 
    [StringPicturemanager downloadImageWithURL:[NSURL URLWithString:originalTempString.  
     options:0 
     progress:^(NSInteger receivedSize, NSInteger expectedSize) { 
      // progression tracking code 
     } 
     completed:^(UIImage *SDWStringImage, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) { 
      if (SDWStringImage) { 
       NSLog(@"JAAAAAA %@", SDWStringImage); 
       originalCell.original_string_image.image = SDWStringImage; 
       CGFloat ImageWidth = ceil(originalCell.original_string_image.image.size.width); 
       CGFloat ImageHeight = ceil(originalCell.original_string_image.image.size.height); 
       CGFloat NewWidth = ceil ((ImageWidth/ImageWidth) * StringTable.frame.size.width); 
       CGFloat NewHeightImageRow = ceil ((ImageHeight/ImageWidth) * StringTable.frame.size.width); 
       originalCell.original_string_image.frame = CGRectMake(0, 53, NewWidth, NewHeightImageRow); 
       NSLog(@"%f",NewWidth); 
       [originalCell.stringIndicator stopAnimating]; 
       originalCell.stringIndicator.hidden = YES; 
       [SVProgressHUD dismiss]; 
       } 
      }]; 
関連する問題