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

Alexander Bakushkin
Alexander Bakushkin
5,120 Points

Code Challenge: Image Based Animation

Hello,

I can't correctly write code in task 1 of 3:

"Let's add animation to the Random Quotes app. A property named 'imageView' has been already defined. Assuming you have images named '01.png','02.png','03.png', create an array of UIImage objects and assign them to the 'animationImages' property of 'imageView'."

My code is:

#import "THViewController.h"

@implementation THViewController

- (void)viewDidLoad {
    [super viewDidLoad];
        self.imageView.animationImages = [[NSArray alloc] initWithObjects: [UIImage imageNamed: @"01.png"], [UIImage imageNamed: @"02.png"], [UIImage imageNamed: @"03.png"], nil];
    // backgroundImage is a local variable
    UIImage *backgroundImage = [UIImage imageNamed:@"background"];
    // imageView is a property
    self.imageView = [[UIImageView alloc] initWithImage:backgroundImage];

    // Add your code below! 
    // Remember 'imageView' is a property 
    // so refer to it as 'self.imageView'


}

@end

Tell me please - whats wrong with this code? I write code from video in Xcode and its work, code above is almost the same...

4 Answers

Alexander Bakushkin
Alexander Bakushkin
5,120 Points

Solved. I wrote my code in wrong place))

Solved put 5f rather then 5.0f.

Hello,

Just a follow up question, I can't complete the second part of the challenge when I put,

#import "THViewController.h"

@implementation THViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // backgroundImage is a local variable
    UIImage *backgroundImage = [UIImage imageNamed:@"background"];
    // imageView is a property
    self.imageView = [[UIImageView alloc] initWithImage:backgroundImage];

    // Add your code below! 
    // Remember 'imageView' is a property 
    // so refer to it as 'self.imageView'

    self.imageView.animationImages = [[NSArray alloc] initWithObjects:
  [UIImage imageNamed:@"01"],
  [UIImage imageNamed:@"02"], 
  [UIImage imageNamed:@"03"], nil];

  self.ImageView.animationDuration = 5f;

}

@end

I get the error Bummer! You need to set the property of the duration of your animation on the 'imageView'.

I can't understand where I have gone wrong.

My THViewController.h looks like

#import "UIViewController.h"

@interface THViewController : UIViewController

@property (nonatomic, strong) UIImageView *imageView;

@end
Michael Sikora
Michael Sikora
9,409 Points

You capitalized the "i" in imageView and it is not in brackets

self.imageView.animationDuration = 5.0f;

you are missing IBOutlet

@property (nonatomic, strong) UIImageView *imageView;