Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

iOS

Martin Dweh
Martin Dweh
1,014 Points

Fetching JSON images from my own website into a CollectionView

I'm having a little problem with what I want to do;

I have my own website with some pictures in a folder, that I want to display in an App within a CollectionView that has 7 sections.

7 Sections and each section have 4 cells/images. The collectionView works fine, it displays the images from within my project.

-But the App is large in size.

So now I simply want to get/fetch the images from my website and have the collectionView works the exact same way it's working now.

when I tapped on a cell, it goes to another view; "detailView" and displays the selected cell's image larger.

When I pressed hard on a cell, it goes to that same view; "detailView" and displays the selected cell's image larger.

also, I want it to save the images, so it doesn't download them every time the user opens the App. And I want to be about to add NEW images to the ones on my site and they automatically show up in the app when the user refresh the collectionView

The question here is; How do I go about setting this up in swift 3. fetching from my own website? Can you please help me with a sample code.

  • I have everything else working, except the JSON fetching from my own website.

thank you very much for your time and your help
// JSON Document {

"PhotosAlbumOne": [ { "sectionName": "Monday's Photos", "photoImage": "mphoto01.jpg", "imageNameLabel": "DayOneEvent", }, { "sectionName": "Monday's Photos", "photoImage": "mphoto02.jpg", "imageNameLabel": "DayOneEvent", }, { "sectionName": "Monday's Photos", "photoImage": "mphoto03.jpg", "imageNameLabel": "DayOneEvent", }, { "sectionName": "Monday's Photos", "photoImage": "mphoto04.jpg", "imageNameLabel": "DayOneEvent", }, ], "PhotosAlbumTwo": [ { "sectionName": "Tuesday's Photos", "photoImage": "Tphoto01.jpg", "imageNameLabel": "DayTwoEvent", }, { "sectionName": "Tuesday's Photos", "photoImage": "Tphoto02.jpg", "imageNameLabel": "DayTwoEvent", }, { "sectionName": "Tuesday's Photos", "photoImage": "Tphoto03.jpg", "imageNameLabel": "DayTwoEvent",​ }, { "sectionName": "Tuesday's Photos", "photoImage": "Tphoto04.jpg", "imageNameLabel": "DayTwoEvent",​ }, ], ​

} This JSON goes up to PhotosAlbumSeven