UITableView上的图像无效

时间:2014-02-14 10:14:12

标签: ios objective-c uitableview

成功地让文字在我的UITableView上运行后,我仍然无法使图像正常工作。似乎LogoURL数组在UITableViewCellsForRow上是空白的,这是我的代码。

#import "ViewController.h"

@interface ViewController ()
@property (nonatomic, strong) MSTable *table;
@property (nonatomic, strong) NSMutableArray *items;



@property (weak, nonatomic) IBOutlet UITableView *MainTableView;

@end

@implementation ViewController

- (void)viewDidLoad
{


    [super viewDidLoad];
    // create the activity indicator in the main queue
    self.MainTableView.hidden = YES;

    UIActivityIndicatorView *ac = [[UIActivityIndicatorView alloc]
                                   initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    [self.view addSubview:ac];
    [ac startAnimating];






    self.client = [MSClient clientWithApplicationURLString:@"https://outnight-mobile.azure-mobile.net/" applicationKey:@"okYeRGfBagYrsbkaqWIRObeDtktjkF10"];
    self.table = [self.client tableWithName:@"notifications"];
    self.rowitems = [[NSMutableArray alloc] init];
    MSQuery *query = [self.table query];
    query.fetchLimit = 3;
    [query readWithCompletion:^(NSArray *items, NSInteger totalCount, NSError *error)
                                {

                                    self.rowitems = [items mutableCopy];
                                    [self.MainTableView reloadData];
                                    self.MainTableView.hidden = YES;



                                    int a;
                                    for (a = 0; a < 3; a++)
                                    {
                                        NSDictionary *apt = [self.rowitems objectAtIndex:a];
                                        NSLog(@"%@", apt[@"barID"]);
                                        NSDictionary *barIDDictionary = @{ @"myParam": apt[@"barID"]};
                                        self.client = [MSClient clientWithApplicationURLString:@"https://outnight-mobile.azure-mobile.net/" applicationKey:@"okYeRGfBagYrsbkaqWIRObeDtktjkF10"];
                                        [self.client invokeAPI:@"photos" body:barIDDictionary HTTPMethod:@"POST" parameters:nil headers:nil completion:^(id result, NSHTTPURLResponse *response, NSError *error) {


                                            if (error) {
                                                        NSLog(@"Error %@", error );
                                            }
                                            else        {
                                                NSString *string = [NSString stringWithFormat:@"%@", [result objectForKey:@"rows"]];
                                                NSString *stringWithoutbracketsend = [string stringByReplacingOccurrencesOfString:@")" withString:@""];
                                                NSString *stringWithoutbracketsfront = [stringWithoutbracketsend stringByReplacingOccurrencesOfString:@"(" withString:@""];
                                                NSString *completion = [stringWithoutbracketsfront stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
                                                NSString *newStr = [completion substringFromIndex:1];
                                                NSString *finalstring = [newStr substringToIndex:newStr.length-(newStr.length>0)];
                                                [self.logoURL addObject:finalstring];
                                                NSLog(@"%@",finalstring);
                                                [self.MainTableView reloadData];
                                                self.MainTableView.hidden = NO;

                                            }

                                            }];
                                  }

                                }];
}


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


-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return [self.rowitems count];
}


-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
  UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
  NSDictionary *stress = [self.rowitems objectAtIndex:indexPath.row];
  cell.textLabel.text = stress[@"content"];

    switch (indexPath.row) {
        case 0:
            [cell.imageView setImageWithURL:[NSURL URLWithString:[self.logoURL objectAtIndex:(1)]] placeholderImage:[UIImage imageNamed:@"greybox40.png"]];
            NSLog(@"%@", [self.logoURL objectAtIndex:(1)]);
            break;

        case 1:
            [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"greybox40.png"]];
            break;

        case 2:
            [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"greybox40.png"]];
            break;

    }


    return cell;
}



@end

正如你在第一个case语句中看到的那样,我试图看看我是否可以看到数组内容,但我不能。任何帮助都将是晶圆厂 - 我确信它与我放置重载表的地方有关但我不确定。

1 个答案:

答案 0 :(得分:0)

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
    NSDictionary *stress = [self.rowitems objectAtIndex:indexPath.row];
    cell.textLabel.text = stress[@"content"];

    switch (indexPath.row) {
        case 0:
            cell.imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@"]]]];
            NSLog(@"%@", [self.logoURL objectAtIndex:(1)]);
            break;

        case 1:
            cell.imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@"]]]];
            break;

        case 2:
            cell.imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@"]]]];
            break;

    }


    return cell;
}