1

I've worked with JSON objects before, such as the one for the TreeHouse Blog: http://blog.teamtreehouse.com/api/get_recent_summary/. Their thumbnail images are listed under strings like such: "http:\/\/blog.teamtreehouse.com\/writing-tips-better-business-marketing". When I access their data using this code:

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSURL *blogURL = [NSURL URLWithString:@"http://blog.teamtreehouse.com/api/get_recent_summary/"];

    NSData *jsonData = [NSData dataWithContentsOfURL:blogURL];

    NSError *error = nil;

    NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];

    self.blogPosts = [NSMutableArray array];

    NSArray *blogPostArray = [dataDictionary objectForKey:@"posts"];
    NSLog(@"%@", blogPostArray);

   for (NSDictionary *bpDictionary in blogPostArray) {

        BlogPost *blogPost = [BlogPost blogPostWithTitle:[bpDictionary objectForKey:@"title"]];
        blogPost.author = [bpDictionary objectForKey:@"author"];
        blogPost.thumbnail = [bpDictionary objectForKey:@"thumbnail"];
        [self.blogPosts addObject:blogPost];
    }
}

My application displays the images properly in the cell.imageView property correctly. But I'm trying to use ESPN api's to create an ESPN Blog Reader app. They display their images in url's such as: http://a.espncdn.com/media/motion/2014/0501/dm_140501_thunder_grizzlies_game_6_highlight/dm_140501_thunder_grizzlies_game_6_highlight.jpg.

I can access their title and author data properly, but when I try to access their image data I get NOTHING. I noticed that the TreeHouse blog images have "\ / \ /" in their image JSON data, but the ESPN image url's don't. How do I access the image data for each JSON object using ESPN's image url format?

Here is where I am loading and setting the images:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

BlogPost *blogPost = [self.blogPosts objectAtIndex:indexPath.row];

if ( [blogPost.thumbnail isKindOfClass:[NSString class]]) {
    NSData *imageData = [NSData dataWithContentsOfURL:blogPost.thumbnailURL];
    UIImage *image = [UIImage imageWithData:imageData];

    cell.imageView.image = image;
} else {
    cell.imageView.image = [UIImage imageNamed:@"treehouse.png"];
}

cell.textLabel.text = blogPost.title;
cell.detailTextLabel.text = blogPost.author;
return cell;

This is the data I get when I log this code. But it won't let me access the data any further!

2014-05-02 18:25:35.540 BlogReader[10371:60b] (
)
2014-05-02 18:25:35.542 BlogReader[10371:60b] (
        {
    alt = "Pacers, Hawks";
    caption = "An NBA spokesman announced Friday there will be no suspensions stemming from the scuffle between the Pacers and Hawks in Game 6.\n";
    credit = "Mike Zarrilli/Getty Images";
    height = 200;
    name = "Pacers-Hawks 140501 [300x200]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_g_pacers0hawks01jr_300x200.jpg";
    width = 300;
},
    {
    alt = "";
    caption = "Pacers guard George Hill and Hawks forward Mike Scott get into a heated exchange during the first half on Thursday night's playoff game.";
    height = 324;
    name = "Pacers, Hawks Involved In Heated Scuffle";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0501/dm_140501_Pacers_Hawk_Scuffle_SC/dm_140501_Pacers_Hawk_Scuffle_SC.jpg";
    width = 576;
},
    {
    alt = "Pacers, Hawks";
    credit = "Mike Zarrilli/Getty Images";
    height = 324;
    name = "Pacers-Hawks 140501 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_g_pacers0hawks01jr_576x324.jpg";
    width = 576;
    }
)
2014-05-02 18:25:35.544 BlogReader[10371:60b] (
    {
    alt = Conley;
    caption = "Memphis' Mike Conley has averaged 15.2 points, 7.7 assists and 4.5 rebounds against Oklahoma City.";
    credit = "AP Photo/Alonzo Adams";
    height = 300;
    name = "Conley_Mike 140430 [300x300]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0430/nba_a_conley_300x300.jpg";
    width = 300;
},
    {
    alt = "";
    caption = "Brian Windhorst discusses the impact Grizzlies G Mike Conley's injury could have in Game 7 against the Thunder.";
    height = 324;
    name = "Conley's Injury Cause For Concern?";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0502/dm_140502_nba_conley_injury_update/dm_140502_nba_conley_injury_update.jpg";
    width = 576;
},
    {
    alt = "Mike Conley #11 of the Memphis Grizzlies";
    credit = "Joe Murphy/NBAE via Getty Images";
    height = 324;
    name = "Conley2 140502 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0502/grant_g_griz_conley_sl_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.546 BlogReader[10371:60b] (
    {
    alt = "";
    caption = "Jeff Van Gundy discusses Game 6 between Toronto and Brooklyn.";
    height = 324;
    name = "What's At Stake For Pierce, Garnett";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0502/dm_140502_nba_van_gundy_raptors_nets/dm_140502_nba_van_gundy_raptors_nets.jpg";
    width = 576;
},
    {
    alt = "Jason Kidd";
    credit = "Joe Camporeale/USA TODAY Sports";
    height = 324;
    name = "Kidd_Jason 140418 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0418/nba_u_kidd1_cr_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.547 BlogReader[10371:60b] (
    {
    alt = "Jacque Vaughn and Victor Oladipo ";
    caption = "Jacque Vaughn, who has a 43-121 record in his two seasons as coach of the Magic, is under contract with the team through the 2015-16 season.";
    credit = "Kevin C. Cox/Getty Images";
    height = 200;
    name = " Vaughn & Oladipo 140218 [300x200]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0218/nba_g_oladipo_d1_300x200.jpg";
    width = 300;
},
    {
    alt = "Jacque Vaughn and Victor Oladipo ";
    credit = "Kevin C. Cox/Getty Images";
    height = 324;
    name = " Vaughn & Oladipo 140218 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0218/nba_g_oladipo_d1_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.549 BlogReader[10371:60b] (
    {
    alt = "James Harden";
    caption = "James Harden's defensive struggles have been detrimental to Houston's postseason hopes.";
    credit = "Sam Forencich/NBAE/Getty Images";
    height = 324;
    name = "Harden_James 140427 [576x324] - Copy";
    type = header;
    url = "http://a.espncdn.com/photo/2014/0427/nba_g_rockts_576x324.jpg";
    width = 576;
},
    {
    alt = Harden;
    credit = "Synergy Sports Technologies ";
    height = 324;
    name = "Harden_James 140502 [576x324]";
    type = header;
    url = "http://a.espncdn.com/photo/2014/0502/nba_e_harden_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.551 BlogReader[10371:60b] (
    {
    alt = "O'Neal";
    caption = "Warriors center Jermaine O'Neal suffered a sprained right knee after contact from the Clippers' Glen Davis in Game 6. \"Either he has terrible balance as a pro athlete,\" O'Neal said, \"or that was a dirty play.\"";
    credit = "Cary Edmondson/USA TODAY Sports";
    height = 200;
    name = "O'Neal_Jermaine 140502 [300x200]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0502/nba_u_oneal_300x200.jpg";
    width = 300;
},
    {
    alt = "";
    caption = "Highlight Of The Night: Stephen Curry scored 24 points as the Warriors fought off the Clippers in Game 6 100-99.";
    height = 324;
    name = "Warriors Force Game 7";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0502/dm_140502_SC_Warriors_Clippers_Highlight378/dm_140502_SC_Warriors_Clippers_Highlight378.jpg";
    width = 576;
},
    {
    alt = "Jermaine O'Neal";
    credit = "Rocky Widner/NBAE/Getty Images";
    height = 324;
    name = "O'Neal_Jermaine 140418 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0418/nba_g_jermaine-oneal_mb_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.553 BlogReader[10371:60b] (
    {
    alt = "";
    caption = "Jeff Van Gundy discusses what the Rockets need to do to win and force a Game 7 against the Trail Blazers.";
    height = 324;
    name = "How Rockets Force Game 7";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0502/dm_140502_nba_van_gundy_hou_por/dm_140502_nba_van_gundy_hou_por.jpg";
    width = 576;
    }
)
2014-05-02 18:25:35.554 BlogReader[10371:60b] (
    {
    alt = "Stephen Curry";
    caption = "Stephen Curry is no Michael Jordan, but his 24 points did help Golden State force a Game 7 trip back to Los Angeles.";
    credit = "Rocky Widner/NBAE/Getty Images";
    height = 300;
    name = "Warriors_Clippers 140501 [200x300]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_g_clippers-warriors2_mb_200x300.jpg";
    width = 200;
},
    {
    alt = "";
    caption = "Highlight Of The Night: Stephen Curry scored 24 points as the Warriors fought off the Clippers in Game 6 100-99.";
    height = 324;
    name = "Warriors Force Game 7";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0502/dm_140502_SC_Warriors_Clippers_Highlight378/dm_140502_SC_Warriors_Clippers_Highlight378.jpg";
    width = 576;
},
    {
    alt = "Blake Griffin";
    credit = "Richard Mackson/USA TODAY Sports";
    height = 324;
    name = "Griffin_Blake 140421 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0421/nba_u_griffin12_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.556 BlogReader[10371:60b] (
    {
    alt = "Stephen Curry";
    caption = "Stephen Curry had a game-high 24 points in the Warriors' Game 6 win.";
    credit = "Cary Edmondson/USA TODAY Sports";
    height = 300;
    name = "Curry_Stephen 140501 [200x300]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0502/la_u_brett_cr_200x300.jpg";
    width = 200;
},
    {
    alt = "";
    caption = "Following a 100-99 win over the Clippers, Stephen Curry said the Warriors laid it all on the line to force a Game 7.";
    height = 324;
    name = "Curry: 'We Just Got To Fight'";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0502/dm_140502_curryspound/dm_140502_curryspound.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.557 BlogReader[10371:60b] (
    {
    alt = "";
    caption = "Highlight Of The Night: Stephen Curry scored 24 points as the Warriors fought off the Clippers in Game 6 100-99.";
    height = 324;
    name = "Warriors Force Game 7";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0502/dm_140502_SC_Warriors_Clippers_Highlight378/dm_140502_SC_Warriors_Clippers_Highlight378.jpg";
    width = 576;
},
    {
    alt = "Stephen Curry";
    credit = "Rocky Widner/NBAE/Getty Images";
    height = 324;
    name = "Warriors_Clippers 140501 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_g_clippers-warriors2_mb_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.558 BlogReader[10371:60b] (
    {
    alt = "";
    caption = "Pacers guard George Hill and Hawks forward Mike Scott get into a heated exchange during the first half on Thursday night's playoff game.";
    height = 324;
    name = "Pacers, Hawks Involved In Heated Scuffle";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0501/dm_140501_Pacers_Hawk_Scuffle_SC/dm_140501_Pacers_Hawk_Scuffle_SC.jpg";
    width = 576;
},
    {
    alt = "Mike Scott, George Hill";
    credit = "Mike Zarrilli/Getty Images";
    height = 324;
    name = "Pacers_Hawks 140501 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_pacers-hawks2_mb_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.559 BlogReader[10371:60b] (
    {
    alt = "David West";
    caption = "David West scored 12 of his 24 points in fourth quarter to power the Pacers' late rally in Game 6.";
    credit = "AP Photo/John Bazemore";
    height = 200;
    name = "West_David 140501 [300x200]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_a_david-west_mbx864_300x200.jpg";
    width = 300;
},
    {
    alt = "";
    caption = "The Pacers finished on a 16-4 run to avoid elimination with a 95-88 win over the Hawks.";
    height = 324;
    name = "Pacers Force Game 7";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0501/dm_140501_Pacers_Hawks_Rev_1_SEC/dm_140501_Pacers_Hawks_Rev_1_SEC.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.559 BlogReader[10371:60b] (
)
2014-05-02 18:25:35.560 BlogReader[10371:60b] (
    {
    alt = "";
    caption = "David Thorpe says LeBron James has been the best player so far in the playoffs, so why is James second in Thorpe's playoff MVP rankings?";
    height = 324;
    name = "Playoff MVP";
    type = video;

    url = "http://a.espncdn.com/media/motion/2014/0502/dm_140502_nba_thtv_1v/dm_140502_nba_thtv_1v.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.560 BlogReader[10371:60b] (
    {
    alt = "";
    caption = "Doc Rivers, Blake Griffin and Chris Paul react to reports that Donald Sterling is battling cancer.";
    height = 324;
    name = "Donald Sterling Battling Prostate Cancer";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0502/dm_140502_nba_Clippers_react_Sterling_cancer_news/dm_140502_nba_Clippers_react_Sterling_cancer_news.jpg";
    width = 576;
},
    {
    alt = "Donald Sterling";
    credit = "Kirby Lee/USA TODAY Sports";
    height = 324;
    name = "Sterling_Donald 140429 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0429/la_u_donnsts_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.561 BlogReader[10371:60b] (
    {
    alt = "";
    caption = "Kevin Durant and Russell Westbrook combined to score 61 in the Thunder's 104-84 win over the Grizzlies in Game 6.";
    height = 324;
    name = "Thunder Run Over Grizzlies To Stay Alive";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0501/dm_140501_thunder_grizzlies_game_6_highlight/dm_140501_thunder_grizzlies_game_6_highlight.jpg";
    width = 576;
},
    {
    alt = "Kevin Durant, Tayshaun Prince";
    credit = "Joe Murphy/NBAE/Getty Images";
    height = 324;
    name = "Thunder_Grizzlies 140501 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_g_thunder-grizzlies1_mb_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.562 BlogReader[10371:60b] (
    {
    alt = "Leon Jenkins";
    caption = "Leon Jenkins resigned \"in order to separate the Los Angeles NAACP and the NAACP from the negative exposure I have caused the NAACP.\"";
    credit = "AP Photo/Nick Ut";
    height = 200;
    name = "Jenkins_Leon 140501 [300x200]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_a_leon-jenkins_mb_300x200.jpg";
    width = 300;
},
    {
    alt = "Leon Jenkins";
    credit = "AP Photo/Nick Ut";
    height = 324;
    name = "Jenkins_Leon 140501 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_a_leon-jenkins_mb_576x324.jpg";
    width = 576;
    }
)
2014-05-02 18:25:35.563 BlogReader[10371:60b] (
    {
    alt = "";
    caption = "The Pacers finished on a 16-4 run to avoid elimination with a 95-88 win over the Hawks.";
    height = 324;
    name = "Pacers Force Game 7";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0501/dm_140501_Pacers_Hawks_Rev_1_SEC/dm_140501_Pacers_Hawks_Rev_1_SEC.jpg";
    width = 576;
},
    {
    alt = "Paul George";
    credit = "Scott Cunningham/NBAE/Getty Images";
    height = 324;
    name = "Pacers_Hawks 140501 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_g_pacers-hawks_mb_576x324.jpg";
    width = 576;
}
)
2014-05-02 18:25:35.564 BlogReader[10371:60b] (
    {
    alt = "Manu Ginobili";
    caption = "Dallas has held Manu Ginobili and the Spurs slightly below their regular-season clip from long range.";
    credit = "Soobum Im/USA TODAY Sports";
    height = 324;
    name = "Ginobili_Manu 140501 [576x324]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/nba_u_ginobli01jr_576x324.jpg";
    width = 576;
},
    {
    alt = "Tim Duncan";
    caption = "Tim Duncan and the Spurs' front line have benefited from the Mavericks' focus on defending the perimeter.";
    credit = "AP Photo/Tony Gutierrez";
    height = 300;
    name = "Duncan_Tim 140501 [200x300]";
    type = inline;
    url = "http://a.espncdn.com/photo/2014/0501/dal_a_dunnn_cr_200x300.jpg";
    width = 200;
},
    {
    alt = "";
    caption = "Tony Parker scored 23 points in the Spurs' 109-103 win over the Mavericks in Game 5.";
    height = 324;
    name = "Spurs Cruise To 3-2 Lead";
    type = video;
    url = "http://a.espncdn.com/media/motion/2014/0430/dm_140430_Mavericks_Spurs_Highlight/dm_140430_Mavericks_Spurs_Highlight.jpg";
    width = 576;
}
)
  • 2
    If the problem is loading the images, show that code instead of what you posted. – rmaddy May 02 '14 at 04:28
  • What happens with that code? Log `blogPost.thumbnailURL`. Is `imageData` non-nil? You need to provide details so we can help. – rmaddy May 02 '14 at 05:21
  • When I log `blogPost.thumbnailURL` I get an array of these: 2014-05-02 01:44:10.176 BlogReader[9081:60b] (null) – SilentLoneWolf May 02 '14 at 05:47
  • You can't expect anything to load if the value is nil. Seems like you aren't getting the image URL properly from the JSON. – rmaddy May 02 '14 at 05:49
  • Got it. I'm using the proper key for images `blogPost.thumbnail = [bpDictionary objectForKey:@"url"];` as stated in ESPN's API Return Data: . I double checked to make sure I was changing `blogURL` to the proper link, and I definitely am. I don't know why 'blogPost.thumbnailURL' is coming us as nil when I change it. – SilentLoneWolf May 02 '14 at 05:56
  • http://stackoverflow.com/questions/19491657/working-with-the-espn-api-how-can-i-parse-this-json I'm trying to do exactly this with X-Code! the JSON objects look the same. It looks like the "url" is located in the "images" array. How do I access it? @rmaddy – SilentLoneWolf May 02 '14 at 07:01

2 Answers2

0

The problem is the image url is not correct, It is showing as

" http://blog.teamtreehouse.com/wp-content/uploads/2014/05/pencils-wikimedia-150x150.jpg"

You should have to remove the black-slash from the link '/', the load into imageView from server.

after remove check this Check This http://blog.teamtreehouse.com/wp-content/uploads/2014/05/pencils-wikimedia-150x150.jpg

To remove '\' programatically use this

NSString *str = @"http:\/\/blog.teamtreehouse.com\/wp-content\/uploads\/2014\/05\/pencils-wikimedia-150x150.jpg"
NSString *stringWithoutSlash = [str 
   stringByReplacingOccurrencesOfString:@"\" withString:@""];
Vineesh TP
  • 7,755
  • 12
  • 66
  • 130
  • No, but for some reason those links work in the format listed in my question. It's the ESPN url's that aren't working for some reason. – SilentLoneWolf May 02 '14 at 05:38
  • you can remove '\' from string programatically . – Vineesh TP May 02 '14 at 05:40
  • That's not even the issue. The issue is that I'm not loading the images properly from url's such as these http://a.espncdn.com/media/motion/2014/0501/dm_140501_thunder_grizzlies_game_6_highlight/dm_140501_thunder_grizzlies_game_6_highlight.jpg – SilentLoneWolf May 02 '14 at 05:51
0

Please try:

NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:blogPost.thumbnail]];

In your CellForRowAtIndexPath. If this doesn't work try to check whats in blogPost.thumbnail. If its an array or dictionary you need to split it up until you get the URL you want to use.

I don't know how the ESPN Jsonstring looks like, but if you can seperate the URL in a string its the same as above.

Hope it helps

Amset
  • 86
  • 3
  • An ESPN JSON is shown in this question (in the second chunk of code): stackoverflow.com/questions/19491657/… I want to get the "url" object under the "images" dictionary. @Amset – – SilentLoneWolf May 02 '14 at 16:06
  • How do I split up "images" to get "url"? Can you show me the code? This is what I have so far but it's not working: `BlogPost *blogPost = [BlogPost blogPostWithTitle:[bpDictionary objectForKey:@"headline"]]; blogPost.author = [bpDictionary objectForKey:@"linkText"]; NSDictionary *imagesDictionary = [bpDictionary objectForKey:@"images"]; blogPost.thumbnail = [imagesDictionary objectForKey:@"url"]; ` – SilentLoneWolf May 02 '14 at 16:19
  • {} contains a JSON Objects what you write into a NSDictionary class. [] marks an array what you write into a NSArray class. The key "images" contains an array. You want to use the first entry of that array. `blogPost.thumbnail = [[imagesDictionary objectAtIndex:0] objectForKey:@"url"];` – Amset May 02 '14 at 16:28
  • I tried it, but I get an error message that says `No visible @interface for 'NSDictionary' declares the selector 'objectAtIndex:'` – SilentLoneWolf May 02 '14 at 17:02
  • ah yeah I did a mistake there... its not possible to use objectAtIndex for a NSDictionary, so you need to put the array "images" in a NSArray object and then you can pick the first entry in that array by using objectAtIndey. `NSArray *imagesArray = [NSArray alloc] initWithArray:[bpDictionary objectForKey:@"images"];` then `blogPost.thumbnail = [[imagesArray objectAtIndex:0] objectForKey:@"url"];` – Amset May 02 '14 at 17:24
  • That's not working either, but you're definitely helping me get closer :) At the bottom of my question I added the log for `NSDictionary *imagesArray = [bpDictionary objectForKey:@"images"]; NSLog(@"%@", imagesArray);` I can't access the data further than that. – SilentLoneWolf May 02 '14 at 22:37
  • can post whats in the log from imagesArray? – Amset May 03 '14 at 12:49
  • Yes, I posted the log at the bottom of my question. It's the last chuck of code. I also checked to see what type of class it was returned in, and I verified that the log is a bunch of arrays. – SilentLoneWolf May 03 '14 at 13:22