Parse.com adding images via URL

2019-04-17 06:14发布

I just wanted to ask how to add to my Parse TableView via URl some images. I`m stuck with it. I made it with custom cells. Labels works good.Can you help me please with adding imageview? Thanks Milan

 TableViewController.h

> #import <UIKit/UIKit.h>
> #import "Parse/Parse.h"
> #import "CustomCell.h"
> 
> @interface TableViewController : UITableViewController
> <UITableViewDelegate,UISearchDisplayDelegate, UISearchBarDelegate>  {
>     
>     NSArray *colorsArray;
>     NSArray *searchResults;
>      }
> 
> @property (strong, nonatomic) IBOutlet UITableView *colorsTable;
> 
> 
> 
> @end

TableViewController.m

    @interface TableViewController ()

@end
@implementation TableViewController


@synthesize colorsTable;

- (void) retrieveFromParse {

    PFQuery *retrieveColors = [PFQuery queryWithClassName:@"Hracky1"];
    [retrieveColors findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
            colorsArray = [[NSArray alloc] initWithArray:objects];
        }
        [colorsTable reloadData];
    }];
    [self.colorsTable reloadData];
    [self.refreshControl endRefreshing];
}

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}


- (void)viewDidLoad
{
    [super viewDidLoad];

    [self performSelector:@selector(retrieveFromParse)];

    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];

    self.refreshControl = refreshControl;

    [refreshControl addTarget:self action:@selector(retrieveFromParse)
     forControlEvents:UIControlEventValueChanged];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return colorsArray.count;
}

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

    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    PFObject *tempObject = [colorsArray objectAtIndex:indexPath.row];

    [cell.imageview setFile: [tempObject objectForKey:@"ImageURL"]];
    [cell.imageview loadInBackground];

    cell.cellTitle.text = [tempObject objectForKey:@"cellTitle"];
    cell.cellDescript.text = [tempObject objectForKey:@"cellDescript"];

    return cell;
}



@end

CustomCell.h

#import <UIKit/UIKit.h>
#import "Parse/Parse.h"

@interface CustomCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *cellTitle;
@property (strong, nonatomic) IBOutlet UILabel *cellDescript;
@property (strong, nonatomic) IBOutlet PFImageView *imageview;


@end

CustomCell.m

#import "CustomCell.h"

@implementation CustomCell
@synthesize cellTitle;
@synthesize cellDescript;
@synthesize imageview;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end

2条回答
我只想做你的唯一
2楼-- · 2019-04-17 06:57

Parse using PFImageView for display a image file(PFile). Change your UIImageView to PFImageVIew
if you have xib file, change your class.
enter image description here

    @property (strong, nonatomic) IBOutlet PFImageView *imageview;  

In cellForRow:

     [cell.imageview setFile: [tempObject objectForKey:@"ImageURL"]];                  
     [cell.imageview loadInBackground];
查看更多
趁早两清
3楼-- · 2019-04-17 06:58

If someone have a same problem. I already fixed it with With SDWebImage.

查看更多
登录 后发表回答