- 博客(24)
- 收藏
- 关注
原创 黑马程序员---学习笔记24:Foundation框架
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- Foundation框架 框架是由许多类,方法,函数,文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易。Mac操作系统下大约有80个框架,为程序开发奠定基础的就是Foundation框架。 Foundation.h头文件实际上是导入其他所有的头文件。 如何使用Foundat
2015-08-20 13:20:31
732
原创 黑马程序员---学习笔记23:OC基础(10)内存管理
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 内存分为几大区域: 1) 栈区:局部变量 2) 堆区:程序运行过程中动态分配的存储空间 3) BSS段:没有初始化的全局变量和静态变量 4) 数据区 :已经初始化的全局变量和静态变量,和字符串 5) 代码段:程序编译后代码的内容 后三个区域程序启动时,自动产生,因此我们的程序中不宜有过
2015-08-20 13:18:59
521
原创 黑马程序员---学习笔记22:OC基础(9)
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 构造方法: 用来初始化对象的方法,是个对象方法。 重写构造方法的目的:为了让对象创建出来成员变量就会有一些固定的值。 Person *p2 = [[Person alloc] init];(==[Person new]) OC中给对象进行初始化的方法是:init(对象方法,返回的是
2015-08-20 13:17:52
491
原创 黑马程序员---学习笔记21:OC基础(8)
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- @property是编译器指令,告诉编译器声明属性的访问器(getter和setter)方法; 免去手工写get和set方法 @property的使用:(仅仅是帮我们做了声明,没有做实现,需要手动实现) 1) 使用格式 @property 数据类型 方法名(去掉set) @prope
2015-08-20 13:16:49
439
原创 黑马程序员---学习笔记20:OC基础(7)
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 多态的概念: 不同的对象以自己的方式相应父类同名的方法 体现出来: 父类的指针指向子类的对象(不只是父类,其实父父类也可以这样) Animal *p=[Dog new]; Animal *p=[Cat new]; 多态的条件: 1) 有继承关系 2) 有方法的重写(子类把父
2015-08-20 13:15:59
431
原创 黑马程序员---学习笔记19:OC基础(6)
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- self 和super关键字: 用于在方法中引入该方法的对象 oc语言中的self相当于C++和java中的this指针 设置器(setter)和访问器(getter)提供外界操作内部类属性的一个通道 self的应用场景: 1)用在类方法中 self在类方法中使用,指代
2015-08-20 13:15:02
841
原创 黑马程序员---学习笔记18:OC基础(5)
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 封装的步骤:定义设置实例变量(setter)方法和访问实例变量(getter)方法 set方法的作用:为外界提供一个统一的设置成员变量的方法。 命名规范: 1)对象方法名称必须以set开头 2)set后面跟成员变量的名称,首字母大写-age --->setAge 3)返回值一定是
2015-08-20 13:13:57
463
原创 黑马程序员---学习笔记17:OC基础(4)
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 引入类方法可以减少内存的占用,因为只是使用对象方法的话,在调用函数时,必要首先创建对象,这会占用内存堆区的一部分空间。但是如果用类名直接引用方法,就会节省这块空间。 声明: [img=http://img.bbs.youkuaiyun.com/upload/201508/17/14397996
2015-08-20 13:12:50
391
原创 黑马程序员---学习笔记16:OC基础(3)
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- oc入门注意事项: 1)@interface,@end和@implementation,@end不能嵌套 2)声明和实现语句需要成对出现,即使声明中没有方法 oc是一种弱语法的语句,在使用过程中可能不按照规范也不出错,但是一定要成对写 3)漏写@end 4)多个类的声
2015-08-20 13:11:53
506
原创 黑马程序员---学习笔记15:OC基础(2)
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 对象的存储细节: [person new] 做了三件事 1) 申请内存空间 2) 实例化成员变量,更成员变量赋初值 3) 返回空间的首地址 问题: 1, 申请的内存空间在哪个区? New的时候申请的空间在内存的堆区(程序动态分配的内存空间) 基本数据类型初始化为0,指针类型
2015-08-20 13:10:57
359
原创 黑马程序员---学习笔记14:OC基础(1)
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 类: 关于类的几个名词: 1).h文件,类的声明文件,用于声明成员变量和方法,使用关键字@Interface和@end 只做方法的声明,并不做类的实现 2).m ,类的实现文件,用于实现.h文件中的方法,关键字:@implementation和@end 方法: 方法的声明和实现
2015-08-20 13:09:42
369
原创 黑马程序员---学习笔记13:宏定义
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 被定义为宏的标识符称为 宏名,在编译预处理时对所有出现的宏名,都用宏定义中出现的字符串取代换,这称为宏定义或者宏展开。(代换后,代换部分优先级不会受影响,不会优先计算) 宏定义分为:有参数和无参数 格式: #define 宏名 宏字符串(可以是常量,变量,表达式) 例: #d
2015-08-20 13:08:33
452
原创 黑马程序员---学习笔记12:typedef关键字
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- typedef关键字 功能:为数据类型起别名 格式: typedef 原类型名 新类型名; 新类型名,一般用大写表示,便于区别 有时可以用宏定义代替,但是宏定义是预处理完成的,而typedef是编译时完成的,后者更灵活 使用方法: 1)给基本数据类型起别名 typedef
2015-08-20 13:06:02
509
原创 黑马程序员---学习笔记11:枚举
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 数组类型 回顾: 基本数据类型 指针 空类型void 构造类型 数组,结构体 (基本数据类型,它的值不能往下分解)枚举类型: 变量的取值被限定在有限的范围内,变量的取值不能超过这个范围 定义形式: enum 枚举类型名{枚举值列表}; 枚举值列表中列出所有的可用值,
2015-08-20 13:04:25
685
原创 黑马程序员---学习笔记10:结构体数组
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 定义: 结构数组中的每一个元素都是具有相同结构类型的变量 格式: struct 结构名{ 成员列表; }数组名【数组长度】; 结构体数组的初始化: 1)定义结构体数组的同时进行初始化 struct Student{ char name[21]; int ag
2015-08-20 13:03:44
501
原创 黑马程序员---学习笔记9:构造类型和结构体
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 构造类型: 根据已经定义的一个或者多个数据类型用构造的方法定义的。 构造类型有以下几种: 1)数组类型 2)结构体类型 3)公用体(联合)类型 结构是一种构造类型,由若干成员组成,每一个成员可以是一个基本数据类型或者又是一个构造类型。 定义结构体的方法: struct
2015-08-20 13:02:15
383
原创 黑马程序员---学习笔记8:数组指针
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 数组元素的指针就是数组元素的地址。 注意: 1)数组名不代表整个数组,而只是表示,数组的首地址 将数组名赋值给一个指针时,只是表示将数组首地址赋值给它,而不是把整个数组的内容赋值过去。 Int a[ 4]={1,2,3,4}; int* p=a; int* p =&a[0]; //
2015-08-20 13:00:57
419
原创 黑马程序员---学习笔记7:指针
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 概念:内存单元的编号也叫做地址,通过这个地址可以找到相应的内存单元,通常把这个地址叫做指针 好处: 1)为函数提供修改调用变量 的灵活手段。 2)让程序有多个返回值 3)可以改善某些程序的效率(传地址就可以了,不用传整个数据块) 4)为动态数据结构(二叉树,链表)提供支持 通过
2015-08-20 12:57:07
400
原创 黑马程序员---学习笔记6:字符串
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 字符串: 位于双引号中的字符序列。在内存中以“\0”结束,所占字节比实际多一个。(\0是空字符,就是ascii码为0的那个) 注意:我们可以把字符常量赋值给字符变量,但是不能把字符串常量赋值给字符变量。 C语言中没有字符串类型的变量,可以用字符数组来存放字符串。 字符数组的定义:
2015-08-19 23:47:00
353
原创 黑马程序员---学习笔记5:二维数组
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 二维数组: 可以看作是一个特殊的一维数组,这个一维数组的每一个元素又是一个一维数组 定义: 数据类型 数组名【第一维长度(行)】【第二维长度(列)】 注意事项: 1)数组名不能与常量同名 2)数组的长度可以是常量表达式(Xcode特有的,长度可以是初始化的变量) 3)长度可以
2015-08-19 19:50:24
489
原创 黑马程序员---学习笔记4:数组
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 数组基本概念:把具有相同类型的若干变量按照有序的形式组织起来,这些按序排列的同类元素的集合称为数组。 按照存储类型存储:数值数组,字符数组,指针数组,结构数组 按照维度分类:一维数组,二维数组,多维数组 数组的使用流程:定义数组---->数组初始化--->使用数组 定
2015-08-19 19:48:29
600
原创 黑马程序员---学习笔记3:进制
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 进制:是一种计数的方式,是数字的表示形式。 常见的进制:二进制,八进制,十进制,十六进制 特殊进制表示形式: 二进制:0b0101101(以0b或0B开头) 八进制:045(以0开头) 十六进制:以0x或0X开头,0x2df。 各种进制的输出方式: 八进制:%o 十进制:%
2015-08-19 19:47:14
411
原创 黑马程序员---学习笔记2:函数
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 函数:功能相对独立的代码段; C语言程序就是有很多功能相对独立的代码段组成的。 C语言是面向过程的语言,最大的标志是它是由一个个函数组成的,而面向对象的标志是由一个个对象(类)组成的。 函数分为:库函数(系统定义的)和用户定义的函数 用户定义函数:需要用户自己编写的函数。对于这种函数,
2015-08-19 19:43:15
353
原创 黑马程序员---学习笔记1:运算符
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 写法规范:运算符两侧一般要加上一个空格,为了美观,易读。 1,运算符的定义:告诉编译器执行各种操作的符号。 2,分类: (1)功能划分:算数运算符,关系与逻辑运算符,按位运算符。 (2)操作数划分:单目运算符a++,双目运算符a+b,三目运算符(?:) 3,优先级和结合性: 优先
2015-08-19 19:33:10
416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅