Skip to main content

C++ class in Objective-c Code


Add a new file to the project, and instead of selecting the iphone stuff, select the mac osx stuff under it. In that select “C and C++” then add a C++ file, call it “Math”.
Define a very simple class:
class Math {
private:
public:
int addNumbers(int num1, int num2);
};

Then in the .cpp file add this:
#include “Math.h”
int Math::addNumbers(int num1, int num2){
int total = 0;
total = num1 + num2;
return total;
}

If you can’t figure out by now we are making a class that adds two numbers.
Now import the math class into your .h file of the view controller, and then in the implementation add this to the “view did load” function
- (void)viewDidLoad {
Math tempMath;
int tempNum = tempMath.addNumbers(1510);
NSString *tempString = [[NSString allocinitWithFormat:@”%i”,  tempNum];
label.text = tempString;
[tempString release];
[super viewDidLoad];
}
Lastly but not least change all your .m files to .mm files. This tells the xcode compiler to compile the code as both objective C and C++
If all goes right, you will see 2 as the label, and this information was called from a c++ class.

Comments

Popular posts from this blog

iOS9 iTune Upload Error : Invalid Bundle. iPad Multitasking support requires launch story board in bundle

1. Add the UIRequiresFullScreen key to your Xcode project’s Info.plist file and apply the Boolean value YES 2. This will fix one more issue that is coming at the time of iTune upload Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. If your application only using single orientation then use the above keyword in info.plist

Convert Date into ISO formate

Call below function like : [self toStringFromDateTime:[NSDate date]]; - (NSString*)toStringFromDateTime:(NSDate*)datetime {     // Purpose: Return a string of the specified date-time in UTC (Zulu) time zone in ISO 8601 format.     // Example: 2013-10-25T06:59:43.431Z     NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];     //ISO DateFormatter     [dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@" UTC "]];     [dateFormatter setDateFormat:@" yyyy-MM-dd'T'HH:mm:SS.SSS'Z' "];     NSString* dateTimeInIsoFormatForZuluTimeZone = [dateFormatter stringFromDate:datetime];     return dateTimeInIsoFormatForZuluTimeZone; }