第一个程序

先来看看第一个程序的代码,代码的扩展名为.m,下面是代码

#import <Foundation/Foundation.h>

@interface SampleClass : NSObject
- (void)sampleMethod;
@end

@implementation SampleClass
- (void)sampleMethod {
    NSLog(@"I am test sampleMethod");
}
@end

int main(int argc, const char *argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"What is my name");
        NSLog(@"Hello, World!");

        SampleClass *sc = [[SampleClass alloc] init];
        [sc sampleMethod];

    }
    return 0;

}

我们来逐行注释,描述下这些代码具体是啥意思:

//导入共用基础类库,类库叫Foundation.h 这个每个应用都需要引入
#import <Foundation/Foundation.h>
//定义一个类 名为SampleClass,扩展NSObject对象
@interface SampleClass : NSObject
//这个类有一个方法定义 
- (void)sampleMethod;
@end
//实现上面的类的 interface
@implementation SampleClass
//实现SampleMethod方法的具体逻辑
- (void)sampleMethod {
    //打印字符串到命令行
    NSLog(@"I am test sampleMethod");
}
@end
//程序主函数入口
int main(int argc, const char *argv[]) {
    //内存自动回收池的写法,注意用{} 符号包裹的是程序的主体
    @autoreleasepool {
        // 下面是具体代码,这两行是打印两行字符串
        NSLog(@"What is my name");
        NSLog(@"Hello, World!");

        //初始化类,如果要实用类,你得先初始化,注意初始化对象的方法,先alloc,然后init
        SampleClass *sc = [[SampleClass alloc] init];
        //调用方法,其实是给目标对象发送消息,让它知道要运行什么方法
        [sc sampleMethod];

    }
    //如果没有错误,程序返回exit code是0
    return 0;

}

分类: 默认 标签: 发布于: 2021-11-24 11:51:35, 更新于: 2021-11-24 11:56:07