#include <Foundation/Foundation.h>
@interface Foo : NSObject
@property (copy) NSString *bar;
@end
@implementation Foo
@end
int main(int argc, char *argv[]) {
Foo *foo = [Foo new];
[foo setBar:@"Hello, world!"];
NSLog(@"%@", [foo bar]);
return 0;
}
In some ways it's the sign of a very strong language, like the curse of Lisp: someone can easily just write their own version of whatever they need. But as a user trying to navigate the ecosystem it is frustrating. I do keep meaning to try it out again though; the language itself is very pleasant to use.