千里之行始于足下
文章平均质量分 64
qq_17714921
这个作者很懒,什么都没留下…
展开
-
黑马程序员-------关于内存
一、为什么要内存管理 1、什么是内存管理 (1)移动设备的内存极其有限,每个app所能占用的内存是有限的 (2)当app所占用的内存较多时,系统会发出内存警告,这是必须回收一些不需要再使用的内存空间。比如回收一些不需要使用的对象、变量等 (3)管理范围:任何继承NSObject的对象,对其他基本数原创 2014-08-31 09:36:37 · 305 阅读 · 0 评论 -
黑马程序员----封装
第一:重用; 封装也确实实现了重用,我们只要为人类创建一个跑方法,以后我们要让张三跑那么就创建一个对象并给他个名子叫张三,然后让他跑,想让李四跑,直接创建一个对象叫李四,调用跑这个方法就行了,没必要重新写一遍。第二:不必关心具体的实现;只要张三从A地跑到B地就行了,不关心他怎么跑,慢跑还是快跑把。再例如:电视机,我们只要会操作就行了,不必知道怎么实现的,只要知道功能,知道它是干什么原创 2014-09-14 16:44:59 · 464 阅读 · 0 评论 -
黑马程序员-------self
1. 成员变量和局部变量同名? 当成员变量和局部变量同名时,采取就近原则,访问的是局部变量? 用self访问成员变量,区分同名的局部变量2. 使用细节1) 出现的地方:所有的OC方法中(对象方法\类方法),不能出现在函数2) 作用? 使用 "self->成员变量名" 访问当前方法调用的成员变量#import @interface Pe原创 2014-08-29 15:43:33 · 298 阅读 · 0 评论 -
黑马程序员----@property的参数
strong和weak的区别strong表示保留它指向的堆上的内存区域不再指向这块区域了。也就是说我强力指向了一个区域,我们不再指向它的条件只有我们指向nil或者我自己也不在内存上,没有人strong指向我了,weak表示如果还没有人指向它了,它就会被清除内存,同时被指向nil,因为我不能读取不存在的东西。weak只在IOS5.0使用这并不是垃圾回收,我们用reference co原创 2014-09-14 16:43:09 · 326 阅读 · 0 评论 -
黑马程序员----枚举
------- IOS开发、IOS培训、期待与您交流! -------在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是:#define MON 1#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT原创 2014-09-14 16:50:07 · 572 阅读 · 0 评论 -
黑马程序员----实例方法跟类方法的区别
类方法和实例方法 实例方法是是以 - 开头,类方法是以 + 开头; 实例方法是用实例对象访问,类方法的对象是类而不是实例,通常创建对象或者工具类。是对类本身执行某些操作的方法例如创建类的实例在实例方法里,根据继承原理发送消息给self和super其实都是发送给self在类方法里面self是其他的类的类方法,在类方法中给sel原创 2014-09-14 16:53:19 · 429 阅读 · 0 评论 -
黑马程序员----Sizeof与Strlen的区别与联系
1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。 2.sizeof是算符,strlen是函数。 3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。sizeof还可以用函数做参数,比如: short f();printf("%d\原创 2014-08-23 22:21:29 · 265 阅读 · 0 评论 -
黑马程序员----Xcode中下载和使用离线文档
1. 在Xcode的Preference菜单中选Downloads-Documentation,点击希望下载的文档,点左下角的上箭头图标,展开该项目的详细信息。2. 在详细信息中找到Feed地址,用Safari浏览器访问该地址,例如iOS 5的文档http://developer.apple.com/rss/com.apple.adc.documentation.AppleiPhone5_原创 2014-08-17 21:24:54 · 342 阅读 · 0 评论 -
内存管理
一、基本使用1.内存管理的范围:任何继承了NSObject的对象,对其他基本数据类型(int、char、float、double、struct、enum等)无效2.对象的基本结构:*每个OC对象都有自己的引用计数器,是一个整数,表示“对象被引用的次数”,即有多少人正在使用这个OC对象*每个OC对象内部专门有4个字节的存储空间来存储引用计数器3.引用计数器的作用原创 2014-08-29 15:55:45 · 288 阅读 · 0 评论 -
stringWithFormat:用法及注意事项
在ObjectiveC中NSString中有一个 stringWithFormat:方法常见的输出方式:NSString *height;height = [NSString stringWithFormat:@"Your height is %d feet, %d inches.",5,11];NSLog(@"%@",height);原创 2014-08-15 21:09:25 · 16286 阅读 · 0 评论 -
NSString
NSString : 不可变字符串NSMutableString : 可变字符串NSMutableString 继承自NSString1.字符串的创建NSString *s1 = @"jack"; NSString *s2 = [[NSString alloc] initWithString:@"jack"]; NSString *s原创 2014-08-29 16:09:58 · 309 阅读 · 0 评论 -
Objective-c中@interface、@implementation、@protocal
以下Objective-c简称OC从事java开发的程序员们都知道,在java中interface是接口的意思,java中类是用class声明,接口用interface声明,是两个独立的部分,只有在类声明要实现某个接口时,他们两者才建立了关系,例如:[html] view plaincopyprint?interface AI{原创 2014-08-03 21:51:12 · 404 阅读 · 0 评论 -
fgets函数
这是我在日常使用fgets总结的一些经验。 函数原型是char *fgets(char *s, int n, FILE *fp); 当fgets的操作是逐个字符读取,遇到换行符,停止读取动作,就把当前字符串(包括换行符)赋值给s;当fgets的操作是逐个字符读取,遇到结束符,停止读取动作,也会把当前字符串(不包括结束符)赋值给s,如果当前字符串是空值就不会赋原创 2014-07-29 19:16:35 · 758 阅读 · 0 评论 -
NSPoint,NSSize,NSRect
NSPoint\CGPoint两个double类型的值想,x,y,代表点的坐标位置创建方式:CGPoint p1 = NSMakePoint(10, 10);NSPoint p2 = CGPointMake(20, 20);// 最常用NSSize\CGSize一个矩形的大小,wight,high,代表矩形的宽高创建方式:原创 2014-08-29 16:07:50 · 401 阅读 · 0 评论 -
block
一、block[objc] view plaincopyint (^minusBlock)(int, int) = ^(int a, int b) { return a - b; }; block用来保存一段代码block的标志:^ bl原创 2014-08-29 15:49:37 · 271 阅读 · 0 评论 -
struct和typedef struct的区别
分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是原创 2014-08-03 14:32:31 · 268 阅读 · 0 评论 -
黑马程序员----多态
------- IOS开发、IOS培训、期待与您交流! -------多态:不同对象对同一消息的不同响应,子类可以重写父类的方法,多态就是允许方法重名,参数或返回值可以是父类型传入或返回。父类指针指向子类,或者说子类对象动态指向父类的现象叫多态,或者说允许将子类类型的指针赋值给父类类型的指针。或者通俗理解为:狗以Dog形态存在,也可以以Animal这原创 2014-09-14 16:45:27 · 393 阅读 · 0 评论 -
黑马程序员----继承
------- IOS开发、IOS培训、期待与您交流! -------继承的好处:1.抽取重复代码2.建立了类之间的关系3. 子类可以拥有父类中的所有成员变量和方法使用场合:1. 当两个类拥有相同的属性和方法时,就可以将相同的东西抽取到一个父类中2. 当A类完全拥有B类中得部分属性和方法时,就可以考虑让B类继承A类注意点:原创 2014-09-14 16:39:39 · 357 阅读 · 0 评论 -
黑马程序员----NSNumber
------- android培训、IOS培训、期待与您交流! ----------原创 2014-08-29 14:27:52 · 315 阅读 · 0 评论 -
黑马程序员-------变量类型
变量也是有分类型的,不同类型的变量有不同的存储类型、不同的生命周期、不同的作用域,C语言也提供了一些关键字来设置变量的属性(比如设置存储类型、生命周期)。 一、变量的作用域1.局部变量1> 定义:在函数内部定义的变量,称为局部变量。形式参数也属于局部变量。2> 作用域:局部变量只在定义它的函数内部有效,即局部变量只有在定义它的函数内部使用,其它函数不原创 2014-08-31 09:26:16 · 364 阅读 · 0 评论 -
黑马程序员-------数组、字符串
一、 数组的定义1. 定义l 声明数组的类型l 声明数组的元素个数(需要多少存储空间)2. 格式元素类型 数组名[元素个数];比如:int ages[3];3. 简单使用l 简单初始化:int ages[5] = {19, 19, 20, 21, 25};l 元素有顺序之分,原创 2014-08-31 09:27:29 · 271 阅读 · 0 评论 -
黑马程序员-------指针
一、指针变量的定义1. 格式:变量类型 *指针变量名;2. 举例:int *p; char *p2;3. 注意:定义变量时的*仅仅是指针变量的象征4.指针变量只能存储地址5.指针就一个作用:能够根据一个地址值,访问对应的存储空间6.指针变量p前面的int:指针变量p只能指向int类型的数据7.任何指针都占用8个字节的存储空间 二、利用指针原创 2014-08-31 09:24:14 · 303 阅读 · 0 评论 -
黑马程序员----字典、NSDictionary
------- android培训、IOS培训、期待与您交流! ----------原创 2014-08-29 14:24:48 · 431 阅读 · 0 评论 -
黑马程序员----IOS笔记 #pragma mark的用法
简单的来说就是为了方便查找和导航代码用的。下面举例如何快速的定位到我已经标识过的代码。#pragma mark 播放节拍器- (void) Run:(NSNumber *)tick{//...}OK,那么如何查找呢,点击代码编辑器上面的导航栏即可:#pragma mark的用法" title原创 2014-08-20 21:01:51 · 312 阅读 · 0 评论 -
黑马程序员-------预处理指令1-宏定义
预处理指令简介1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。习惯上我们尽可能原创 2014-08-31 09:26:39 · 303 阅读 · 0 评论 -
黑马程序员----NSDictionary类使用
字典:NSDictionary 字典就是关键字及其定义(描述)的集合。Cocoa中的实现字典的集合NSDictionary在给定的关键字(通常是一个NSString)下存储一个数值(可以是任何类型的对象)。然后你就可以用这个关键字来查找相应的数值。不同于数组,字典(也被称为散列表或关联数组)使用的是键查询的优化存储方式。它可以立即找出要查询的数据,而不需要遍历整个数组进行查找。原创 2014-08-18 20:00:15 · 338 阅读 · 0 评论 -
黑马程序员-------NSArray(NSMutableArray);
数组的基本概念 Foundation中的数组(NsArray, NSMutableArray)是一组有序的组合的集合。与字符串相同,数组也有可变和不可变数组之分。 不可变数组------NSArray 数组的初始化 常用的方法 可变数组------NSMutableArray,继承自NSArray原创 2014-08-29 15:25:03 · 299 阅读 · 0 评论 -
黑马程序员----构造方法
------- IOS开发、IOS培训、期待与您交流! -------构造方法:用来初始化对象的方法,是个对象方法(或者说实例方法),以 - 开头重写构造方法的目的:为了让对象创建出来,成员变量就会有一些固定的值重写构造方法的注意点:1. 先调用父类的构造方法[superinit]2. 再进行子类内部成员变量的初始化main.h原创 2014-09-14 16:47:48 · 359 阅读 · 0 评论 -
黑马程序员----NSSet类型 以及与NSArray区别
NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合; NSSet , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray,NSDictionary(都是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的; NSSet和我们常用NSArry区别是:在搜索一个一个元素原创 2014-08-18 19:51:16 · 330 阅读 · 0 评论 -
黑马程序员------SEL
1. 方法的存储位置? 每个类的方法列表都存储在类对象中? 每个方法都有一个与之对应的SEL类型的对象? 根据一个SEL对象就可以找到方法的地址,进而调用方法? SEL类型的定义typedef struct objc_selector *SEL; 2. SEL对象的创建SEL s = @selector(test);SEL原创 2014-08-29 15:41:21 · 299 阅读 · 0 评论 -
黑马程序员-------description
1. -description方法使用NSLog和%@输出某个对象时,会调用对象的-description方法,并拿到返回值进行输出2. + description方法使用NSLog和%@输出某个类对象时,会调用类对象+description方法,并拿到返回值进行输出3. 修改NSLog的默认输出l 重写-description或者+description方原创 2014-08-29 15:36:17 · 387 阅读 · 0 评论 -
黑马程序员------class:类
1. 类也是个对象? 其实类也是一个对象,是Class类型的对象,简称“类对象”? Class类型的定义typedef struct objc_class *Class;? 类名就代表着类对象,每个类只有一个类对象 2. +load和+initialize? +loadl 在程序启动的时候会加载所有的类和分类,并调用所有类和分类的+l原创 2014-08-29 15:34:50 · 277 阅读 · 0 评论 -
黑马程序员------Category:分类
1. 基本用途? 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式l 继承l 分类(Category) 2. 格式? 分类的声明@interface 类名 (分类名称)// 方法声明@end? 分类的实现@implementation 类名 (分类名称)// 方法实现@end原创 2014-08-29 15:33:10 · 394 阅读 · 0 评论 -
黑马程序员----NSValue
NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue// 结构体--->OC对象 CGPoint p = CGPointMake(10, 10);// 将结构体转为Value对象 NSValue *value = [NSValue valueWithPoint:p]; // 将value转为对应的结构体 // [va原创 2014-08-29 14:34:41 · 284 阅读 · 0 评论 -
黑马程序员----NSDate
------- android培训、IOS培训、期待与您交流! ----------原创 2014-08-29 14:30:45 · 302 阅读 · 0 评论 -
@protocol
1.协议的定义@protocol 协议名称 // 方法声明列表....@end2.如何遵守协议1> 类遵守协议@interface 类名 : 父类名 @end2> 协议遵守协议@protocol 协议名称 @end3.协议中方法声明的关键字1> @required (默认) 要求实现,如果没有实现,会发出警告原创 2014-08-29 15:50:41 · 277 阅读 · 0 评论