03 2015 档案
摘要:1.copy(不可变副本)/mutableCopy(可变副本):copy语法的目的:改变副本的时候,不会影响到源对象;一个对象可以使用copy/mutableCopy方法创建副本;copy需要先实现NSCopying协议,创建的是不可变副本;mutableCopy需要先实现NSMutableCopy...
阅读全文
摘要:1.创建一个时间对象2.基本方法的使用:3.NSDate类型转换成NSString类型4.将NSString类型转换成NSDate类型
阅读全文
摘要:一、NSNumberNSNumber之所以能包装基本数据类型为对象,是因为其继承了NSValue;可以存放非OC对象;只能存放数字,不能存放结构体等; 注意点: 二、NSValueNSValue 可以存放非OC对象;即能存放数字,也能存放结构体等;
阅读全文
摘要:1.NSArray/NSMutableArray有序;快速创建:@[obj1, obj2, obj3];快速访问:数组名[i];2.NSSet/NSMutableSet无序;3.NSDictionary/NSMutableDictionary无序;快速创建(不可变):@{key1 : value1,...
阅读全文
摘要:前言:字典内部存放的都是键值对:一、NSDictionary(不可变字典)1.NSDictionary的创建和寻值:方式一:创建一个字典对象,里面只有一个键值对创建 寻值:(根据键找出对应的值) 方式二:创建一个字典对象,里面可以包含多个键值对创建: 寻值:(根据键找出对应的值)编译器特性! 方式...
阅读全文
摘要:一、NSSet(可变集合)1.NSSet和NSArray的区别:共同点:都是集合,都能存放多个OC对象;只能存放OC对象,不能存放非OC对象类型(如:int、char、float、等,结构体、枚举等);本身都不可变,但都一个可变的子类;不同点:NSArray 中存放的元素有顺序额,NSSet中存放的...
阅读全文
摘要:练习:计算整个文件夹的代码行数//// main.m// 02-计算整个文件夹的代码行数//// Created by unique on 15-1-26.// Copyright (c) 2015年 unique. All rights reserved.//#import NSUInte...
阅读全文
摘要:一、NSArray(不可变数组)1.NSArray的创建:方式一:创建的只有一个对象 方式二:创建的可以存放多个对象 方式三:快速创建一个NSArray对象 2.NSArray的元素个数:3.NSArray中元素的访问:4.NSArray中元素的遍历:方式一: 方式二:快速遍历 方式三:快速遍历利用...
阅读全文
摘要:一、NSString(不可变字符串)1.创建字符串的方式:(利用对象方法)方式一:最快速的创建 方式二: 方式三: 方式四: 方式五:NSUTF8StringEncoding 用到中文就可以用这种编码 方式六:利用URL(资源路径)格式:协议头://路径 1> file:// 2> http:/...
阅读全文
摘要:1.NSRange:(范围) 2.NSPoint\CGPoint(NSPoint相当于CGPoint):(位置:X、Y)设置Point的两种方式:1.NSPoint point = NSMakePoint(100,56); 2.NSPoint point2 = CGPointMake(40,63);...
阅读全文
摘要:1.协议的定义 @protocol 协议名称 // 方法列表...... @end 2.如何遵守一份协议类遵守协议 @interface 类名 : 父类名 @end 协议遵守协议 @protocol 协议名 @end3.协议中方法声明的关键字@required(默认) 要求实...
阅读全文
摘要:1.block的基本使用block用来保存一段代码;block的标志: ^;block跟函数很像:可以保存代码;有返回值;有形参;调用方式一样;2.没有返回值、没有形参的block先定义一个block变量:如:myBlock; 利用block变量调用block里面的代码; 3.有返回值和形参的blo...
阅读全文
摘要:内存管理之五《ARC-Automatic Reference Counting》1.ARC概念ARC是Automatic Reference Counting---自动引用计数。ARC是一种编译器特性,并不是java中得垃圾回收,java中的垃圾回收是运行时特性;ARC的判断准则:只要没有强指针指向...
阅读全文
摘要:内存管理之四——autorelease自动释放池1.autorelease的基本使用此对象方法会将对象放到一个自动释放池内;当自动释放池被销毁时,就会对池子内的所有对象做一次release操作;此方法会返回对象本身;调用完此方法后,对象计数器的值不变,只有到自动释放池被销毁时才会对对象做一次rele...
阅读全文
摘要:内存管理之三——《@property的内存管理》1.@property中与setter内存管理相关的参数retain : release旧值,retain新值(适用于OC对象类型);assign : 直接赋值,(默认,适用于非OC对象类型);copy : release旧值,copy新值;2.@pr...
阅读全文
摘要:内存管理之二——《多对象的内存管理》1.多对象的内存管理方式:只要有人使用了这个对象,这个对象就不能被销毁;只要你想使用这个对象,就让这个对象的引用计数器的值+1(让对象做一次retain操作);当你不再使用这个对象,就让这个的对象的引用计数器的值-1(让对象做一次release操作);谁alloc...
阅读全文
摘要:内存管理1.为什么要进行内存管理移动设备的内存极其有限,每个app所能占用的内存是有限制的;当app所占用的内存较大时,系统就会发出内存警告,这时就的回收一些不需要使用的内存空间。比如:回收一些不需要的对象,变量等;内存管理的范围:任何继承了NSObject的对象,对其他基本数据类型(int、cha...
阅读全文
摘要:SEL1.SEL类型的定义 2.方法的存储位置每个类的方法列表都存储在类对象中每个方法都有一个与之对应的SEL类型的对象根据一个SEL对象就可以找到方法的地址,进而调用方法3.SEL对象的创建 方式一: 方式二:将一个字符串转换成SEL类型的数据 4.用SEL调用方法无形参方法的调用:①:将...
阅读全文
摘要:description方法有两种:- description方法和+ description方法1、-description方法使用NSLog和%@输出某个对象时,会调用对象的 - description方法,并拿到返回值(NSString *)进行输出(默认为:)2.+ description方法...
阅读全文
摘要:类的加载和初始化当程序一启动,就会加载项目中所有的类和分类,而且加载后会调用每一个类和分类中的+load方法(即使不创建对象也会调用),且只会调用一次;当第一次使用某个类时,就会调用当前类的+initialize方法;先加载父类,再加载子类(先调用父类的+load方法,再调用子类的+load方法);...
阅读全文
摘要:类的本质:类本身也是一个对象,是一个Class类型的对象,简称类对象;1.内存中创建对象的本质:利用Class 创建一个 Person类对象;利用person类对象,创建Person类型的对象。2.类对象及对象内存细节:3.类对象的其他使用:调用类方法:1.利用类名调用类方法: 2.利用类对象调用类...
阅读全文
摘要:给NSString类增加一个类方法(计算某个字符串中阿拉伯数字的个数)和一个对象方法(计算某个字符串中阿拉伯数字的个数)代码练习:分类(NSString + Number).h文件:分类(NSString + Number).m文件: mian.m文件 运行结果:
阅读全文
摘要:category(分类)1.作用:在不改变原来类内容的基础上,增加一些方法,但是不能增加成员变量;2.分类的使用注意:分类只能增加方法,不能增加成员变量分类方法实现中可以访问原来类中声明的成员变量(必须是手动的声明)分类中可以重新实现原来类中的方法,但是会覆盖掉原来类中的方法,会导致原来类中的方法失...
阅读全文
摘要:一、构造方法1.构造方法:用来初始化对象的方法,是一个对象方法,- 开头;2.重写构造方法的目的:让对象创建出来,成员变量就会有一些固定的值;3.创建对象的两种方式: 4.重写构造方法:1.先调用父类的构造方法:[super init]; 初始化父类中神明的一些成员变量。2.在进行子类内部成员变量的...
阅读全文
摘要:一、@property和@synthesize的基本使用@property :可以自动生成某个成员变量的setter和getter的声明(@property int age;)。写在@interface里面; @synthesize :自动生成age的setter和getter,并且在方法内部访问的...
阅读全文
摘要:成员变量的作用域成员变量的作用域共分为4种:@private :只能在当前类的实现(@implementation)中直接访问,即当前类的对象方法中访问。@protected : 可以在当前类以及其子类的实现(@implementation)中直接访问,默认。@public : 任意地方都可以直接访...
阅读全文
摘要:点语法1.点语法与setter和getter有关Person *p = [Person new];[p setAge : 10]; // 等价于 p.age = 10;int a = [p age]; // 等价于 int a = p.age;2.说明:p.age = 10; 并非访问p对象的成员变...
阅读全文
摘要:NSString类@“123456” 也是一个类,其类就是NSString类;1.最简单的创建字符串的方式NSString *name = @"jack";2.创建OC字符串的另一种方式:利用NSString类的类方法 stringWithFormat:NSString *str = [NSStri...
阅读全文
摘要:super关键字1.作用:直接调用父类中的方法;[super 方法名] 处在对象方法中,super就会调用父类中的对象方法;[super 方法名] 处在类方法中,super就会调用父类中的类方法;2.使用场合:子类重写父类的方法时,想保留父类中的一些行为;3.代码练习:#import @interf...
阅读全文
摘要:一、self(关键字)的用途:1> 概念:指向当前的对象或类(谁调用了当前方法,self就代表谁) * self出现在对象方法中,self就代表当前对象 * self出现在类方法中,self就代表类2> 在对象方法中可以利用“self->成员变量名”访问当前对象内部的成员变量(类方法中不能访问成员变...
阅读全文
摘要:一、对象方法1> 减号 - 开头2> 只能由对象来调用3> 对象方法中能访问当前对象的成员变量(实例变量)二、类方法1> 加号 + 开头2> 只能由类名来调用3> 类方法中不能访问成员变量(实例变量)注:可以允许类方法和对象方法同名三、类方法的好处及使用场合1> 类方法不依赖于对象(不创建对象也可以...
阅读全文
摘要:OC弱语法OC在运行过程中才会检测对象有没有实现相应的方法(动态监测),而即使没有写方法的实现代码,在编译、连接过程中只会有警告,运行时会奔溃,如果在手机上运行这样的代码,运行过程中就造成闪退!1.如果对象调用了一个既没有声明又没有实现的方法test,编译能通过(有警告:warning: 'Pers...
阅读全文
摘要:一、封装(set方法和get方法)封装的好处:过滤掉不合理的值,屏蔽内部的赋值细节,让外界不比关心内部的细节。set方法:1.作用:提供一个方法给外界设置成员变量的值2.命名规范: 1> 方法名必须是set开头 2> set后面跟上成员变量的名称,并且成员变量的首字母必须是大写 3> 返回值一定是v...
阅读全文

浙公网安备 33010602011771号