OC课程-001: 基本概念整理

swift可跨平台。

整理:
忘记#include,用#import;
忘记printf,用NSLog;

基本概念整理

  1. OC相对于C语言。
    a. 在C的基础上新增了一部分面向对象的语法;
    b. 将C复杂的、繁琐的、可恶的语法封装的更简单。
    c. OC完全兼容C语言。OC语言的后缀是.m,
  2. m代表message,代表OC中重要的机制是----消息机制。C语言的后缀.c
  3. main()函数依然是oc语言的入口和出口。
    int类型的返回值,代表程序的结束状态。
    main()函数的参数:可以接受用户在运行程序的时候,传递数据给程序。参数可以不要。

4.import指令。

a. 以#开头,是预处理指令。
b. 作用:是#include指令的增强版。将文件的内容在预编译的时候,拷贝到写指令的地方。
c. 增强:* 同一个文件,无论import多少次,只会包含1次* 。
如果用include指令要实现这个效果,就必须要配合条件编译指令来实现。
而import指令只需要直接包含即可。
d. 简单原理:
import指令在包含文件的时候,底层会先判断这个文件是否被包含,如果被包含过就会忽略,否则才会包含。

5. Foundation框架。

  • 是1个功能集合,常用的功能先写好封装,这些函数或类的集合就叫框架。
    类似C语言的函数库。提供了基础的功能,输入和输出,数据类型。

6. NSLog函数,@autoreleasepool 自动释放池。

#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
    @autoreleasepool {
           NSLog(@"Hello, World!3434");
    }
    return 0;
}
  • 作用:printf函数的增强版,向控制台输出信息。
  • 语法:NSLog(@“输入内容”)
  • 增强:
    a. 输出一些调试相关的信息。
    2023-04-29 22:03:36.291636+0800 HelloOc[2697:49524] Hello, World!3434
    b. 会自动换行。在输出信息之后,会自动换行。
    c. OC中新增了数据类型,NSLog函数不仅可以输出C数据类型变量,还可以输出OC新增的数据类型的变量的值。
    d. 用法和printf函数差不多,一样可以输出变量的值,并且占位符的用法也一样。
    e. 第一个参数的前面,要用@。如过在字符串的后面加了\n代表换行,那么函数的自动换行功能就失效了。

7. NSString字符串

1). C语言的字符串存储方式
a. 使用字符数组存储
b. 使用字符指针。
2). OC中设计了更好用的用来存储字符串的类型,NSString,
NSString类型的指针变量,专门用来存储OC字符串的地址。
3). OC的字符串常量,必须使用@前缀符号。@“jack”
NSString类型的指针变量,只能存储OC字符串的地址。
NSString * str = @"Tom";
NSLog(@"大家好,我是%@", str);
4). 总结:

  • 在OC中专门设计了一个NSString类型来存储字符串。
  • 字符串分为C字符串和OC字符串。没有前缀@的,就是C字符串。
  • OC字符串类型常量的前面,必须要加@符号。
  • NSString类型的指针变量,只能存储OC字符串。
  • NSLog第一个参数是OC字符串,必须用@符号开头。
  • 如果NSLog要输出OC字符串的值,那么使用占位符%@

8. NS前缀。NextStep

@符号

  • 将C字符串,转换为OC字符串。
  • OC中绝大部分关键字,都是以@符号开头(@autoreleasepool)。

9. 注释:与C语言的注释,一模一样。

单行注释、多行注释。

10. 函数的定义和使用。与C语言函数的定义和调用一样。

void test() {
NSLog("方法调用");
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容