Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Build a Playlist Browser with Swift Building the Music Library and Playlist Models Creating UIImageView instances

carlos sulsona
carlos sulsona
10,378 Points

creating UIIamgeview instances? i'm confused help please

In our Treehouse model struct below we have a property named friends. It is a dictionary that holds information about our friends including their profile pictures. In the ViewController class, using the key profilePicture, retrieve the image name as a string from the dictionary and assign it to a constant named profileImageName. Iโ€™ve already created an instance of the Treehouse struct and stored a reference to the friends library in a constant named friends for you to use.

Once you have the image name, create an instance of UIImage using the image name and store it in a constant called profilePicture.

ImageViews.swift
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let friends = Treehouse().friends

        //Add your code below


    }

}
Treehouse.swift
struct Treehouse {
    let friends = [
        "firstName": "Susan",
        "lastName": "Olson",
        "profilePicture": "susan_profile.png"
    ]
}

3 Answers

Chris Shaw
Chris Shaw
26,676 Points

Hi Carlos,

The challenge itself want's you to create an UIImage instance which is different from an UIImageView which can contain many UIImage instances, for this challenge you need to do the following:

  1. Assign the value for the key profilePicture in the friends dictionary to a constant called profileImageName
  2. Create a new instance of UIImage using the named convenience constructor and the profileImageName constant we just set, we also need to assign our UIImage instance to another constant called profilePicture

The final result will look like the below.

let friends = Treehouse().friends
let profileImageName = friends["profilePicture"]
let profilePicture = UIImage(named: profileImageName)

Hope that helps.

let profileImageName = friends["profilePicture"] as String!

Good answer... addendum:

<code> let profileImageName = friends["profilePicture"] as String! </code>