个人学习笔记
1、OC相对于C
a、在的基础之上新增了一小部分面向对象的语法
b、将C的复杂的、繁琐的语法封装的更为简单
c、OC完全兼容于C语言
2、OC程序的源文件的后缀名是.m m代表message 代表OC中最重要的一个机制 消息机制
C程序的后缀名是.c
3、main函数任然是OC程序的入口和出口
int类型的返回值 代表程序的结束状态
main函数的参数:仍然可以接收用户在运行程序的时候传递数据给程序 参数也可以不要
4、#import指令
a、以#开头,是一个预处理指令(编译之前)
b、作用:是#include指令的增强版,将文件的内容在预编译的时候拷贝到写指令的地方
c、增强:同一个文件无论#import多少次都只会包含一次,如果include指令要实现这个效果就需要结合条件编译指令来实现,而#import指令只需要直接包含就可以,其他什么都不要做
d、简要原理:#import指令在包含文件的时候,底层会判断该文件时候被包含,如果被包含就会略过,否则才会包含
5、框架
a、是一个功能集 苹果或者第三方事先将一些程序员在开发程序的时候经常要用到的功能事先写好,把这些功能封装在一个类或者函数中,这个函数或类的集合叫框架
b、Foundation框架
Foundation:基础 基本,这个框架中提供了一些最基础处的功能 输入和输出,一些护具类型
Foundation.h这个文件包含了Foundation框架中的其他所以头文件
6、@autoreleasepool是自动释放池
7、NSLog函数
a、作用:是printf函数的增强版,想控制台输出信息
b、语法:NSLog(@"格式控制字符串",变量列表);
最简单的语法:NSLog(@"要输出的内容")
c、增强:
输出一些调试相关信息
输出完信息之后会自动换行
OC中新增了一些数据类型,只能使用NSLog输出,不能使用printf
d、用法和printf函数差不多,一样可以输出变量值,并且占位符和用法一样
e、使用主要
NSLog函数的第一个参数前面必须要加@符
如果手动在字符串末尾添加\n代表换行,函数自动换行功能失效
8、字符串
a、C语言的字符串存储方式:
使用字符数组存储
使用字符指针
b、OC中设计了一个更为好用的用来存储字符串的一个类型NSString,NSString类型的指针变量,专门用来存储OC字符串的地址
c、OC的字符创常量必须要使用一个前缀@符号
"字符串"C语言字符串
@"字符串"OC字符串
NSString类型的指针变量,只能存储OC字符串的地址
NSString *str = @"字符串";
d、注意
NSLog函数的第一个实参是一个OC字符串,所以NSLog函数的第一个是按应该以@符开头
如果要使用NSLog函数来输出OC字符串的值,那么使用%@占位符
9、NS前缀
NextStep ---->Cocoa ----> Foundation框架
10、@符号
a、将C字符串转化为OC字符串
"字符串" @"字符串"
b、OC中的绝大部分的关键字都是以@符开头
11、注释
和C语言一样,分为单行和多行注释
12、函数的定义和调用
//先申明函数
void func();
int main()
{
//最后调用
func();
return 0;
}
//再实现函数
void func()
{
NSLog(@"这是函数内容");
}