一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造成内存泄露 全局区:所有的全局变量和静态变量 常量区:所有的常量 代码区:程序编译后的指令集 类是模板,肯定需要存在内存里面,因为实例化对象的时候需要根据这个模板来创建,那么存在内存里面,存在哪呢?? 类模板存在:全局区! 存的是:类的描述,还有所有的方法实现 每个对象都会有一个系统给我们的isa指…
  一.第一个OC程序 #import <Foundation/Foundation.h> //导入头文件 int main(int argc, const char * argv[]) { //main函数 @autoreleasepool {//自动释放池,我们现在写代码最好都写这里面 NSLog(@"Hello, World!"); //输出语句 } ; //退出程序,返回一个值给系统看 } 二.OC中的字符串 /* 前缀的概念:(了解一下) 提供框架的作者很多,所以…
一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点语法的语法: 对象.属性; 注意:这里的属性不需要加_ 对象.属性 = 值; 点语法的本质: 其实就是调用getter或者setter方法. 点语法注意事项: 1.在类的方法里面如果用self.age 这个是调用方法,self->_age 是直接调用成员变量. 2.千万记得不要在setter或者ge…
一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类的方法,绝对不是再写一个自己类的方法. 代码中原话叫:子类重写父类方法. 因为父类定义的方法不一定适用于子类. 注意:如果有重写,那么调用的是自己重写后的方法,如果没有重写,那么就调用的是父类的方法. 所以我们方法有一个执行的过程: 1.先去自己类里面找这个方法,如果找到就执行. 2.如果没找到,就…
一.类方法的使用 /* 像我们之前学的方法,必须先实例化这个类的对象才能调用这个方法,类方法不用实例化对象,直接调用这个方法. 之前学的方法调用的语法: [对象名 方法名]; //对象方法 类方法: [类名 方法名]; //类方法 定义: 语法:+(返回值类型)方法名:参数列表; 注意: 1.类方法不能直接访问成员变量. 2.类方法里面可以调用其他的类方法,但不能直接调用对象方法. 3.对象方法里面可以调用类方法. 4.类方法可以和对象方法同名,互不影响.因为类方法用类名调用,对象方法用对象名调…
本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例如:int num =0; csanf("%d",&num);printf("num = %d \n",num); 注意:格式化控制符前面要求输入什么类型的数据,那么地址列表那里就必须只能放相应类型变量地址.输入值的时候可以指定输入值的分隔符, 也可以 默认用回…
上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的位数用空格表示 如果实际的整数位数大于或者等于m时,就按照原先的值输出. 2.%0md:作用和%md一样,只是实际数字不足的位数用0表示.注意不能用其他的符号补齐,只能用0.   %f或者%lf 1.float类型数字有效数字是小数点后6位(加小数点为7位),double类型的数字有效数字为14位(…
本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条件 printf(" %d",num): num++; //控制循环结束语句 } //例如:计算1到100的和 ; ; ){ sum+=i; i++; } printf("sum= %d",sum); /** 注意: 1.避免死循环,避免永真或永假.永真死循环,永假不执…
本节主要介绍c语言中运算符. 运算符主要分为四类: 1.算术运算符 加(+),减(-),乘(*),除(/),取余(%,两数相除,得到余数) 2.关系运算符 3.逻辑运算符 4.换位运算符 下面将依次介绍运算符. 1.算术运算符: //加(+):让两个操作数相加得到它们的和. //例如: ; ; //int sum = num+num1;printf("num+num1=%d \n",sum ); printf("num+num1=%d \n",num+num1);…
本系列是为了学习ios做准备的,也能作为c语言入门的教程看看. c语言的程序结构: 1.顺序结构:自上而下依次执行. 2.分支结构:程序有选择的执行某段代码或者不执行某段代码. 3.循环结构:程序循环的去执行某段代码. c语言的代码块: 定义:每个{}就是一个代码块. 注意:{}代码块中定义的变量,代码块外不可以访问.原因:除了代码块之后,代码块内部定义的变量就会被回收. 代码块中可以定义代码块外中已存在的变量. //代码块 ; { //就近原则 ; printf("num = %d"…