Search code examples
iosxcode4static-linking

linking a static library in ios


I have created a math based application in Xcode 4.4. I am using tabbar based app with the help of storyboard.

I have written all my math functions in a separate class called CalculationMethods which is the subclass of NSObject.

My ViewController:

//  FirstViewController.h

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

@interface FirstViewController : UIViewController

@end

//  FirstViewController.m

#import "FirstViewController.h"
#import "CalculationMethods.h"

@interface FirstViewController ()

@end

@implementation FirstViewController



- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"%f",[self julianDateFinder: [self currentDayMonthAndYearFinder]]);
}

@end

As you can see I have included my CalculationMethod.h file in both FirstViewController.h and the FirstViewController.m file, but when I use the methods of that class such as julianDateFinder and currentDayMonthAndYearFinder, Xcode errors, saying:

"No Visible @interface for 'FirstViewController' declares the selector 'CurrentDayMonthAndYearFinder'"

I am new to iOS and XCode. Can anyone help me solve the error?


Solution

  • In the FirstViewController, to use any of the methods in the CalculationMethods class, you need to create an instance of CalculationMethods. And then access a method using this syntax: [instanceOfCalculationMethods aMethodInCalculationMethods];

    For example in your case, try this:

    In the FirstViewController.h file, before the @end:

    CalculationMethods *_calculationMethods;
    

    And in the viewDidLoad method:

    _calculationMethods = [CalculationMethods alloc] init];
    NSLog(@"%f",[_calculationMethods julianDateFinder: [_calculationMethods currentDayMonthAndYearFinder]]);