人生几何?

OC基础-概述(一)

2021-08-26  本文已影响0人  浮华_du

Objective-C简称Obj-C或者OC。

1)面向对象的C

后缀
main函数
import指令

1).以#号开头,是1个预处理指令.
2).作用: 是#inlcude指令的增强版. 将文件的内容在预编译的时候拷贝写指令的地方.
3).增强: 同1个文件无论#import多少次,只会包含1次.
如果#include指令要实现这个效果 就必须要配合条件编译指令来实现.
而#import指令只需要直接包含就可以 其他什么都不用作.

2)

Foundation框架

这个框架中提供了一些最基础的功能 输入和输出. 一些数据类型.
Foundation.h的路径:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/Foundation.h
Foundation.h这个文件中包含了Foundation框架中的其他的所有的头文件.
所以,我们只要包含Foundation.h 就相当于包含了Foundation框架中所有的头文件.
那么Foundation框架中的所有的函数和类就可以直接使用.

NSLog
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {//自动释放池
       float f = 12.12f;
        NSLog(@"Hello, World!--%f",f);
    }
    return 0;
}
NSString

NSString类型的指针变量,只能用来存储OC字符串的地址;
NSString 字符串常量必须使用一个@前缀;
(指针变量加星号)
注意:

#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
    NSString *str = @"张三";
    NSLog(@"大家好,我叫%@",str);
    return 0;
}

3)函数的定义与调用

#import <Foundation/Foundation.h>
void sayHI();
int main(int argc, const char * argv[]) {
    sayHI();
    return 0;
}

void sayHI(){
    NSString *str = @"张三";
    NSLog(@"大家好,我叫%@",str);
}

image.png

4)C与OC对比

1. OC程序的编译、链接和执行步骤和C语言基本一致;

以在终端中建立OC语言文件为例

2. OC和C各个阶段的后缀名对比
对比 C OC
源文件 .c .m
目标文件 .o .o
可执行文件 .out .out
3. OC和C的数据类型对比

首先,OC中支持C语言中的所有的数据类型。

OC支持以上所有类型
另外,OC还建立了一些新的数据类型:

#define YES ((BOOL)1)
#define NO ((BOOL)0)

所以我们得知,YES实际上就时1,NO实际上就是0。

        BOOL isOK = YES;
        NSLog(@"%d", isOK);
//2021-07-21 09:59:40.066494+0800 TestOc[5004:50166] 1
#define true 1
#define false 0

所以我们得知,true实际上就时1,false实际上就是0。

       Boolean isOK = true;
        NSLog(@"%d", isOK);
//2021-07-21 10:05:29.350056+0800 TestOc[5758:57446] 1

仅供个人学习使用

https://zhuanlan.zhihu.com/p/174716626

上一篇 下一篇

猜你喜欢

热点阅读