CTO, Software engineer and Team leader
Posts tagged Objective-C
iMeet application presentation
Jul 25th
Finally, the biggest moment: application is ready!! I am very proud of this application, as it represents my achievements in fast learning and adapting to:
- new way of programming, as XCode and Interface Builder truly represent the ModelViewController paradigm
- new language- Objective-C, which as any language has its pluses and minuses
- new device: mobile devices on which I didn’t work since my experience on Sales Force Automation in TotalSoft company, back in 2005, on Windows CE.
I’ve structured the application visually in few areas:
1. Login screen – the ‘”gate” to the application. Since the access to the
XML-RPC is done in a secure way, the application More >
Objective-C: Putting markers on Map control
Jul 21st
This article comes as a completion to my previous ones, XCode : using MapKit with no geocoding available out of the box and XCode: Modal windows – Google maps and shows how to add pins on your already created Map View.
First of all, adding the points to the map is not as intuitive as it might seem, so let’s start by creating a new class called POI – point of interest. Its header must be filled with this code:
#import <foundation foundation.h>
#import <mapkit mapkit.h>
#import <corelocation corelocation.h>
@interface POI : NSObject { CLLocationCoordinate2D coordinate; NSString *subtitle; NSString *title; }
@property (nonatomic, readonly) More > XCode : using MapKit with no geocoding available out of the box
Jul 15th
One of the tasks in the CSCW lab was to create a map on which the users to see the location of a specific address.
So I started working on it, knowing that the newest framework brings a lot of goodies, through which there is also a map framework. But surprise! Apple provides only reverse geocoding, not forward geocoding. This means that you can only transform a pair of Latitude / Longitude to the Map and it will show it to the user. But what to do when user enters an address?
My point is that nobody caries with him a GPS More >
Objective-C: Base64 to NSString and NSString to Base64
Jul 11th
While working on the CSCW Lab project, I encountered a situation in which the XML-RPC call returned an image, of course encoded as Base64. And guess what – in its known style, Apple doesn’t provide Base64 encoding and decoding – quite lame, given the fact that this encoding is used everywhere in data transfer over the internet – e-mail, browsers, web services – all of them use at some point this encoding to overcome the different local encodings on each one’s machine.
Once identified this problem, I had to solve it somehow – but guess what? – over the free sources More >
Processing NSDate into an ISO8601 string
Jul 6th
During the CSCW Lab, where I had the experience of working on iPhone, I had to connect to a XML RPC server. Some of the parameters of the request had to be formatted as ISO8601 standard. After some reading, I end up using the following code, managing both the conversion of a NSDate to NSString and a NSString to a NSDATE using the above format:
NSString –> NSDate
-(NSString *) strFromISO8601:(NSDate *) date {
static NSDateFormatter* sISO8601 = nil;
if (!sISO8601) {
sISO8601 = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone localTimeZone];
int offset = [timeZone secondsFromGMT];
NSMutableString *strFormat = [NSMutableString stringWithString:@"yyyyMMdd'T'HH:mm:ss"]; More > Objective-C: Use NSXMLParser
Jul 3rd
Almost any time you’ll need to pull some data from the web. Using Objective-C you have at your disposal a pretty good XML parser – the event-based version. What really means is that instead of building in-memory tree with the structure of the XML you’ll have some events raised when the parser encounters a special token – the most usual ones are tag start, tag end and found comments. The parsing goes node by node and is not nesting-sensitive. As soon as the parser returns you a node, you don’t know where in the structure you are currently anymore. As long More >
Objective-C: allocation and deallocation
Jul 1st
While reading the book by Mr. Kochan (1st ed): "Programming in Objective C" , I noticed that he uses the following code (you can see it at pages 342-344) to explain that the initWithString is preferable to stringWithString because the AddressCard class would own the name variable contents. Also, I don’t get any errors making repeated calls to the setName version with the stringWithString method.
//I didn't added here the header file which has the needed declarations
#import "AddressCard.h"
@implementation AddressCard;
-(NSString *) name{
return name;
}
//Recommended code:
-(void) setName: (NSString *) theName{
[name release]
name = [[NSString alloc] initWthString: More > Objective-C: UIAlert or asking for confirmation
Jun 29th
While start XCoding, I faced a new challenge : how to create modal, single use confirmation dialogs? So after some digging in the internet, I found out that this can be actually done pretty simple and elegant. This will be very useful if you want to display some deletion confirmation or ask for user permission to use the camera or GPS sensor. All you have to do is just create a UIAlert and the IBAction hooked up to your “Nuclear launch” button, and then have its delegate decide whether to destroy the world or not.
In the header file you have to More >
Xcode – String concatenation
Jun 6th
Don’t be fooled that Objective-C is a Object oriented language. For decades operators overloading is something standard in almost all of them.
But in Objective-C you don’t have it. Mostly, I believe that comes from the struggle of Apple guys to assure the stability of the system. A lot of errors can come from poorly designed overloads, thus the crashes can appear.
Now let’s put some hands on code.
In C, Java or Pascal you would have written something like the following for string concatenation:
string1 = string2 + string3;
But in Objective-C you need to do something different:
NSString *myString = @"http://www.mywebsite.com"; float myValue = More >


























