- 博客(18)
- 收藏
- 关注
原创 OC中retain和assign的setter方法的写法和区别
1.retain- (void)setName:(NSString *)name{ if(_name != name){ [_name release]; _name = [name retain]; }}- (NSString *)name{ return _name;}2.assign- (vo
2015-11-17 21:04:03 1230
原创 iOS中的内存泄露问题
一、内存管理中影响属性的内部实现的方法语义设置: retain assign copy二、解决内存泄露问题1.dealloc是NSObject中的一个实例方法,与alloc相对应,用于回收分配的内存空间。在dealloc方法中释放实例变量的内存,但必须在[super dealloc];之前进行释放有alloc retain copy的地方就要有 realease aut
2015-11-17 20:48:31 313
原创 iOS中的自动释放池
自动释放池:NSAutoreleasePool类 当你创建对象不想立即释放的时候可以使用autoreleasepool,那么会把对象的所有权交给最近的NSAutoreleasePool对象 autoreleasepool控制 使用autorelease对象的释放,这个对象何时释放,取决于这个autoreleasepool 1.新的 @aut
2015-11-13 17:58:26 298
原创 iOS中影响引用计数的方法
1. + alloc 开辟内存空间,让被开辟的内存空间的引用计数变为 1,由 0 到 1 的过程。2. - retain(持有) 对象引用计数 + 1,并且拥有该对象的所有权,如果之前引用计数为 1,retain之后引用计数就变为 2,如果引用计数为 5,那么,retain之后就变味 6.3. - copy 把某一内存区域的内容拷贝一份,拷贝到新的
2015-11-13 17:28:23 1009
原创 iOS编程中的内存管理方式
1.垃圾回收:(JAVA、C#、C++、OC(只支持Mac OS))2.手动管理内存(C、C++)3.C语言内存管理:malloc分配内存空间 free释放内存空间4.OC中:(OC[Manual Refrence Count] 手动 引用 计数)5.自动管理内存 ARC(Auto Reference Count) 自动 引用 计数,iOS5之后的新特性,但并不是垃圾回收机
2015-11-13 17:08:18 280
原创 在block按学号的升序和降序排列;按姓名的升序和降序排序,按年龄的升序和降序排列
练习.按学号的升序和降序排列;按姓名的升序和降序排序,按年龄的升序和降序排列。 Student *stu1 = [Student studentWithName:@"xiaoguo" withSex:@"女" wi
2015-11-10 21:19:29 2809
原创 Block的操作,使用typedef,局部变量,全局变量
1.使用typedef定义blocktypedef int(^Easyblock) (int,int);Easyblock block1 = ^int(int x,int y){ return x * y;};Easyblock block2 = ^int(int x,int y) { return x / y;};NSLog(@
2015-11-10 21:18:45 1339
原创 OC中字典的操作方法 集合 动态排序
一.不可变字典 NSDictionary1.获取字典元素的个数NSUInteger count = dic.count;NSLog(@"count = %lu",count);2.获取所有Key 值NSArray *str1 = dic.allkeys;for (int i = 0;i NSLog(@"str1[%d] = %@",i,[str1 objectAtI
2015-11-09 20:23:14 685
原创 OC中不可变数组和可变数组的操作方法
一.不可变数组1.获取数组元素个数NSLog(@"array数组中元素的个数为%lu",array.count)
2015-11-09 19:47:20 468
原创 OC中字符串的使用方法
一.不可变字符串 NSString1.求字符串的长度NSUInteger length = str.length;NSLog(@"str = %@",str);2.字符串连接NSString *str2 = [str stringByAppendingString:str1];NSLog(@"str2 = %@",str2);3.字符串替换(1)直接用字符串替换
2015-11-09 19:45:58 380
原创 Block定义与使用
1.Block是块语法,本质上是匿名函数(也就是没有函数名的方法)。它和函数指针类似。2.Block定义int (^myBlock)(int) = ^int(int num1){return num1 + 2;};等号左边int 代表Block的返回值类型(^myBlock) ^是块标识符,后边是对象名称(int) 是参数列表的类型,可以有多个参数,也可以为0个
2015-11-09 17:14:38 404
原创 利用可变数组实现简单通讯录操作
1、定义联系人类Contact。实例变量:姓名、性别、电话号码、住址、分组名称。方法:初始化方法(姓名、电话号码)、显示联系人信息 Contact *contacts1 = [Contact initWithName:@"小敏" withLocal:@"洛阳理工学院" andteamName:@"忽而一夏" sex:@"女" telephoneNumber:@"188602331
2015-11-07 16:49:57 382
原创 字典练习
1.创建一个字典,里面包含班级的各个小组,然后每个小组中又包含这组所有成员的名字, NSArray *arr1 = [[NSArray alloc] initWithObjects:@"小敏",@"小飞飞",@"小俊珍", nil]; NSArray *arr2 = [[NSArray alloc] initWithObjects:@"小黑"
2015-11-07 16:28:00 382
原创 如何打开API文档
1.苹果帮助文档 API (Application Programming Interface)应用程序编程接口 苹果每次升级iOS系统时都会添加或更新大量的接口,并且提供相应的参考文档 学会使用苹果的开发文档是开发者必备的一项技能 苹果API文档结构: Inherits from :
2015-11-07 16:25:48 8197
原创 继承 完整的初始化方法和便利构造器
1.继承 (1)继承的上层是 (冒号后边的)父类,继承的下是 (冒号前边的)子类。 (2)继承是单向的,不能相互继承。 (3)继承具有传递性:A 继承于 B ,B 继承于 C,A 具有 B 和 C 的特征和行为。 子类能继承父类的所有特征和行为。 (4)面向对象提供了继承语法:能够大大简化代
2015-11-07 16:10:17 318
原创 如何修改和访问方法中受保护的实例变量
1.实例变量的可见度有三种.公共的(public) 实例变量可以在类的内部和外部操作。受保护的(protected)实例变量只能在该类的内部及其子类中进行操作私有的(private)实例变量只能在该类的内部操作。2.修改方法中受保护的实例变量首先在.m中实现赋值的方法,对实例变量进行赋值,实例变量对象 = 方法中的参数名,然后可以调用此方方法传入参数。.m中
2015-11-07 15:44:52 972
原创 OC 类 和 对象
1.类:具有相同特征和行为的事物的总称;对象:是某一个具体的实例对象是类的实例,类是对象的类型。2.创建对象时的两个方法(1) + (id)alloc; + 表示这个方法属于类,只能类执行,id返回值类型,表示任意类型,表示初始化完成的对象。(2) - (id) init; 表示这个方法属于对象,只能对象去执行,id返回值类型,表示初始化完成的对象。3.接口部分需要做的事情
2015-11-07 15:40:08 240
原创 函数指针
1.函数指针定义:数据类型 (*指针变量名)指针类型例如: int sum(int x,int y){return x + y;}定义调用上函数int (*p)(int x,int y);p = sum;int y = (9,7);printf("y = %d\n",y);2.函数指针重指向,可以指向多个函数,但类型要保持一致。也就是给函数
2015-11-06 08:26:36 289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人