Warning: complete newbie Xcode question.
In MainViewController.h I have the following line:
IBOutlet WorkItem *m_WIone;
I have created a class called WorkItem which is inherited from UILabel. The line above is so that I can use m_WIone (which will eventually become an array of such objects) as a member variable throughout MainViewController.
I have tried various ways to call WorkItem methods and finally settled on:
[m_WIone Reset];
where Reset is a WorkItem method. The method is declared in WorkItem.h as:
-(void) Reset;
and in WorkItem.m as:
-(void) Reset {}
With or without contents in this method, the app always crashes with:
Thread 1: Program received signal: “SIGABRT”.
In the logging, I read:
Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[UILabel Reset]: unrecognized selector sent to instance 0x6a5f9f0’
How can I solve this? Am I even declaring this member variable correctly? (Despite trawling through StackOverflow, I cannot find the solution.)
Did you specify your custom class for the NIB? It seems like you want a widget in XCode’s Interface Builder to use your custom class. Only the default class (UILabel) would be instantiated instead of your custom class.
Click on the UILabel you’re using as the outlet and change the class (the screenshot here is for UITableView, but it should work the same for UILabel).
With that being said, there are alternatives to what you’re trying to do. Instead of just using UILabel (which you eventually plan to make an array of them). Why not use a UITableView and customize cells to what you see fit (since UITableViews optimal for displaying lists of items)?