Search code examples
iphoneobjective-ciosxcode4uiviewcontroller

Unable to build project with custom uiviewController


Hey I am getting an error when I try to build a project in Objective C. The error I get is

  "_OBJC_CLASS_$_TimeLineCreater", referenced from:
  objc-class-ref in TimeLineViewController.o
  ld: symbol(s) not found for architecture armv7
  clang: error: linker command failed with exit code 1 (use -v to see invocation)

Here is the .m file where the error is occurring:

#import "TimeLineViewController.h"


@implementation TimeLineViewController
@synthesize myPopover;
@synthesize appDelegate;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
}
return self;
}

- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle


// Implement viewDidLoad to do additional setup after loading the view, typically from a   nib.
- (void)viewDidLoad
{
[super viewDidLoad];

//THIS IS WHERE THE ERROR OCCURS, WHEN I TRY TO ADD THIS UIVIEWCONTROLLER
TimeLineCreater *timeline = [[TimeLineCreater alloc]init];
[self.view addSubview:timeline.view];
}

I'm really not sure how to solve it. I tried a few suggestions from other questions but had no luck. Any Ideas?

For additional help here is the TimeLineCreater .h and .m files

.h

#import <UIKit/UIKit.h>
#import "AppDelegate.h"

@interface TimeLineCreator : UIViewController{

AppDelegate * _appDelegate;
NSMutableArray *teamMembers;
NSMutableArray *projects;
NSMutableArray *tasks;

//Parameter ints (ints that are passed in)
int timeLineType;
int horizontalLineWidth;
int horizontalLineHeight;
int vertialLineWidth;
int verticalLineHeight;
int numberOfObjectsOnLine;
int spaceBetweenObjects;
int objectsStartingPoint;

UILabel *nameOfTimeLine;
UILabel *taskNameLabel;
UILabel *dateDueLabel;




IBOutlet UIScrollView *timeLineScrollView;

}
@property(nonatomic, retain) AppDelegate * appDelegate;
@property int timeLineType;
@property int horizontalLineWidth;
@property int horizontalLineHeight;
@property int vertialLineWidth;
@property int verticalLineHeight;
@property int numberOfObjectsOnLine;
@property int spaceBetweenObjects;
@property int objectsStartingPoint;
@property(nonatomic, retain) UILabel * nameOfTimeLine;
@property(nonatomic, retain) UILabel * taskNameLabel;
@property(nonatomic, retain) UILabel * dateDueLabel;

.m

#import "TimeLineCreator.h"


@implementation TimeLineCreator
@synthesize appDelegate;
@synthesize timeLineType;
@synthesize horizontalLineWidth;
@synthesize horizontalLineHeight;
@synthesize vertialLineWidth;
@synthesize verticalLineHeight;
@synthesize taskNameLabel;
@synthesize nameOfTimeLine;
@synthesize numberOfObjectsOnLine;
@synthesize dateDueLabel;
@synthesize spaceBetweenObjects;
@synthesize objectsStartingPoint;

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
projects = [[NSMutableArray alloc] initWithArray:self.appDelegate.projects];
teamMembers = [[NSMutableArray alloc] initWithArray:self.appDelegate.teamMembers];
tasks  = [[NSMutableArray alloc] initWithArray:self.appDelegate.tasks];


if(objectsStartingPoint == 0){
    objectsStartingPoint = 30;
}
NSLog(@"objectStartingPoint is %i", objectsStartingPoint);
horizontalLineWidth = objectsStartingPoint + (numberOfObjectsOnLine *spaceBetweenObjects);

}

Solution

  • you misspell the name of TimeLineCreator class in TimeLineViewController class so it gives you error correct it.