らんだむな記憶

blogというものを体験してみようか!的なー

Objective-Cサンプル

https://developer.apple.com/jp/documentation/ProgrammingWithObjectiveC.pdfを22ページ読んだとこで飽きた😃
もうコンパイルする!素朴なほうが理解しやすいので一番素朴なアレで。
以下のようにして、Terminalから

$ clang -o test sample.m main.m -framework Foundation -fobjc-arc

コンパイルコマンドラインビルドの場合、ARC(Automatic Reference Counting)を明示的にONにするように-fobjc-arcの指定が必要そう。これを指定しないと[[[Sample alloc] init] autorelease]でも怒られない。

[sample.h]

#import <Foundation/NSObject.h>

@interface Sample : NSObject
- (void) echo: (const char*) msg;
@end

[sample.m]

#include <stdio.h>
#import "sample.h"

@implementation Sample

- (void) echo: (const char*) msg
{
    puts(msg);
}

@end

[main.m]

#import "sample.h"

int main(int argc, char* argv[])
{
    Sample* sample = [[Sample alloc] init]
    [sample echo: "Hello!!!"];

    return 0;
}