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!

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


I am stuggling to pass one of the iOS challenges please help

Assume we are creating an app to display random quotes. So far our app has a label and a button that have been added to the view. We need to create an 'IBAction' for our button. Please define a method called 'buttonPressed' and make sure it returns an 'IBAction'.

import "THViewController.h"

@implementation THViewController

  • (IBAction)buttonPressed;


However, I am not getting it correct. Please help.

Stone Preston
Stone Preston
42,016 Points

please link to the specific challenge you are referring to

3 Answers

Stone Preston
Stone Preston
42,016 Points

it looks like you are currently putting this code in the implementation file for this class. You need to put your method declaration in the interface file (.h) not the implementation (.m). There should be a tab where you can switch between files in the challenge engine. other than that your code looks correct


am stuck on the same task.. the reason being i cannot switch to the .m file to finish the code.. how do i get into .m file?

Thank you Stone.. I managed to pass the task

Stone Preston
Stone Preston
42,016 Points

Fatemah Manji, please post a link to the challenge you are having trouble with

Scott LaForest
Scott LaForest
5,600 Points

Like Stone said, usually methods are declared in the .h file. However if I remember on the code challenges you can't change between .h (interface) and .m (implementation) files. But when you define methods in the .m file the syntax is a little different. To declare in the .h file you use what you have i.e.

  -(IBAction) buttonPressed;

and then in the .m file you need {} on the end like so:

-(IBAction) buttonPressed{
   //stuff to do when our button is pressed

Without seeing the question I can't tell for sure but hopefully this helps.