So I am quite new on OC programming, I come from Front-end background (i.e. HTML/CSS/JavaScript ...), so I understand basic concepts of programming :)
Basically I created a console application, with a simple FooClass.
FooClass.h
#import <Foundation/Foundation.h>
@interface FooClass : NSObject
@property (strong, nonatomic) NSString *username;
- (NSString *) username;
- (void) setUsername:(NSString *)username;
@end
FooClass.m
#import "FooClass.h"
@implementation FooClass
@synthesize username = _username;
- (instancetype) init
{
    self = [super init];
    if (self) {
    }
    return self;
}
- (NSString *) username
{
    return _username;
}
- (void) setUsername:(NSString *)username
{
    _username = username;
}
@end
And in the main.m file, where the app bootstraps.
#import <Foundation/Foundation.h>
#include "FooClass.h"
int main(int argc, const char * argv[])
{
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        FooClass *foo = [[FooClass alloc] init];
        foo.username = @"a";
    }
    return 0;
}
XCode tells me that it cannot find property username on object of type FooClass. And I don't really have idea about it. Any one could help?
 
    