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 Simple iPhone App (iOS7) Creating a Data Collection Create an NSArray Property

What's wrong with my code

Mistake message: "Bummer! Remember to use the keyword 'self' to access the 'quotes' property and initialize it with the 3 quotes mentioned above."

My code in THViewController.m:

#import "THViewController.h"

@implementation THViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.quotes = 
    [[NSArray alloc] initWithObjects: @"Haters gonna hate", @"Life is simple, not easy", 
    @"Winners never quit, quitters never win", nil];
    // Add your code below! 
    // Remember the array property is called 'quotes'
    // And the label property is called 'quoteLabel'



}

@end

I allocated and initialized quotes with those quotes what else I supposed to do?

4 Answers

hmm try submitting it again. your code is correct. I just passed using your alloc and init code. below is the full .m file

#import "THViewController.h"

@implementation THViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    self.quotes = [[NSArray alloc] initWithObjects: @"Haters gonna hate", @"Life is simple, not easy", @"Winners never quit, quitters never win", nil];

    // Add your code below! 
    // Remember the array property is called 'quotes'
    // And the label property is called 'quoteLabel'

}

This is challenge's task: The random quotes app needs an array of quotes. Declare a property named 'quotes'. Make it an NSArray and use the modifiers 'nonatomic' and 'strong'.

Maybe I forgot something?

post the code you used for the header file property declaration. You could have messed that up and caused task 2 not to pass for some reason.

THViewController.h

#import "UIViewController.h"
#import "UILabel.h"

@interface THViewController : UIViewController

@property (nonatomic, strong) IBOutlet UILabel *quoteLabel;

@end

P.S Also tried your code. it makes mistake:"Make sure you are creating a property named 'quotes' with the right modifiers!"

you need to add an NSArray property called quotes with the nonatomic and strong attributes.

Thanks, but I just copied the wrong one.

#import "UIViewController.h"
#import "UILabel.h"

@interface THViewController : UIViewController

@property (nonatomic, strong) IBOutlet UILabel *quoteLabel;
@property (nonatomic,strong) NSArray *quotes;

@end

Still same mistake: "Remember to use the keyword 'self' to access the 'quotes' property and initialize it with the 3 quotes mentioned above."

man im really not sure what the problem is. Everything you have looks good. could just be something weird going on with the engine. I just passed task 2 with this .h

#import "UIViewController.h"
#import "UILabel.h"

@interface THViewController : UIViewController

@property (nonatomic, strong) IBOutlet UILabel *quoteLabel;
@property (nonatomic,strong) NSArray *quotes;

@end

and this .m

#import "THViewController.h"

@implementation THViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // Add your code below! 
    // Remember the array property is called 'quotes'
    // And the label property is called 'quoteLabel'
    self.quotes = [[NSArray alloc] initWithObjects: @"Haters gonna hate", @"Life is simple, not easy", @"Winners never quit, quitters never win", nil];



}

@end

Thank you, Stone, for your help.

I think I found the problem, I inserted code above comments ant they asked to do it below O_o

So stupid mistake :)

Thank you again!

no I tried that as well thinking that might have been it and passed haha (check out the .m file in my first answer, i put the code above the comments as well) . I also tried adding the space between nonatomic in strong thinking that could have been it and it passed as well. not really sure what the deal is

Your last code worked. No idea what went wrong) Thanks

im not really sure what happened either. your original code looked correct to begin with so Im pretty sure it wasnt an error on your part, but it could have been. Oh well, you are passed it now