- 博客(91)
- 收藏
- 关注
原创 Foundation -- OC集合 --NSValue
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSValue/* NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue //NSValue可以把任何转换为oc对象 */#import int main
2015-04-06 02:06:24
405
原创 Foundation -- OC集合 --NSDate
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSDate#import int main(int argc,const char * argv[]) { // 09/10/2011 NSString *time =
2015-04-06 01:59:50
370
原创 Foundation -- OC集合 --NSNumber
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSnumber/* 将各种基本数据类型包装成NSNumber对象 @20 @10.5; @YES; @'A'; // NSNumber对象 将age变量
2015-04-06 01:58:33
344
原创 Foundation -- OC集合 --NSDictionary
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSDictionary/* 集合 1. NSArray / NSMutableArray 有序 快速创建(不可变) : @[obj1,obj2,obj3]; 快速访问元素 : 数
2015-04-06 01:55:04
299
原创 Foundation -- OC集合 --NSSet
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSSet/* NSSet 和 NSArray的对比 1 共同点 1> 都是集合,都能存放多个oc对象 只能存放oc对象,不能存放非oc对象类型(基本数据类型:int ,char,float等,结构体
2015-04-06 01:39:25
312
原创 Foundation -- OC集合 --NSArray
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSArray/* NSArray : 不可变数组 NSMutableArray : 可变叔数组 */#import #import "Person.h"
2015-04-06 01:34:03
277
原创 Foundation -- OC字符串
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSString/* NSString : 不可变字符串 NSMutableString : 可变字符串 */#import int m
2015-04-06 01:19:13
263
原创 Foundation -- OC结构体
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// OC结构体/*NSRange : 范围 , NSPoint : 点(x,y) , NSSize : 宽高(width,heigh) , NSRcet : 平行矩形(点(x,y),宽高(width,heig
2015-04-06 01:07:27
282
原创 @protocol协议
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- @ptotocol协议/* 1. 协议的定义 @protocol 协议名称 //方法声明列表 @end 2. 如何遵守协议 1> 类遵守协议 @interface 类名: 父类
2015-04-06 00:37:04
450
原创 协议的代理模式
协议的代理模式#import @protocol TicketDelegate NSObject>//返回票价- (double) ticketPrice;//还剩多少张票- (int) leftTicketsNumber;@end#import #import "Tic
2015-04-06 00:28:19
640
原创 Block
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- block/* 1. Block封装了一段代码,可以在任何时候执行 2. Block可以作为函数或者函数的返回值,而其本身又可以带输入参数或返回值 3. 苹果官方建议尽量多用block.在多线程,异步任务,集合
2015-04-06 00:21:02
270
原创 ARC的循环使用
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- ARC 循环引用/* 当两端循环引用的时候,解决方案 1> ARC 1端用strong,另一端用weak; 2> 非ARC 1端用retain,另一段用assign;
2015-04-06 00:12:48
299
原创 ARC的基本使用
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// arc的基本使用/* ARC的判断准则: 只要没有强指针指向对象,就会释放对象 1.ARC特点 1> 不允许调用release.retain.retainCount 2> 允许重写dealloc,
2015-04-06 00:08:55
408
原创 @autorelease
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- @autorelease/* 1. autorelease的基本用法 1> 会将对象放到一个自动释放池中 2> 当自动释放池被销毁时,会对池子里面的所有的对象做一次release操作 3> 会返回对象本
2015-04-06 00:03:53
440
原创 内存管理:@class循环引用
@class循环引用/* 1. @class的作用:仅仅告诉编译器,某个名称是一个类 @class Person; //仅仅告诉编译器,Person是一个类 2.开发中引用一个类的规范 1> 在.h文件中用@class来声明类 2> 在.m文件中用#import来包含类的所有东西 3.两端循环引用解决方案
2015-04-06 00:00:50
396
原创 内存管理:@property参数
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// @property参数/* 1. set方法内存管理相关的参数 retain : 生成的set方法里面,release旧值,retain新值 assign : 直接赋值(默认,适用于非OC
2015-04-05 23:54:46
251
原创 set方法的内存管理
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- set方法的代码规范/* 1> 基本数据类型:直接赋值 - (void)setAge:(int)age { _age = age; } 2> OC对象类型 - (voi
2015-04-05 23:51:40
293
原创 多个对象之间的内存管理
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// 多个对象之间的内存管理/* 1> 你想占用某个对象,就应该让对象的计数器+1(让对象做一次retain操作) 2>你不想再使用(占用)某个对象,就应该让对象的计数器-1(让对象做一次release操作)
2015-04-05 23:49:11
228
原创 内存管理
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 内存管理/* 范围: 任何继承了NSObject得对象,对基本数据类型无效 原理: 每个对象内部都保存了一个引用计数器 当使用alloc,new,copy创建一个对象时,对象的引用计数器被设置为1
2015-04-05 23:47:37
209
原创 类对象的本质
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 类对象的本质/* p 实例对象 Person 类对象 */#import @interface Person :NSObject{ int _age;}
2015-04-05 23:10:46
327
原创 面向对象的特性:多态
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! 多态/* 类和类之间的关系 多种形态,没有继承就没有多态 对象和对象的关系 1> 组合 2> 依赖 3> 关联 多态: 不同对象以自己的方式,响应同名的方法 多
2015-04-05 23:09:28
279
原创 面向对象的特性:继承
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 继承/* 继承的好处 1. 抽取重复代码 2. 建立了类和类之间的关系 3. 子类拥有父类中得所有成员变量和方法 继承的实现步骤: 1> 先要导入继承的类的头文件
2015-04-05 23:06:01
254
原创 面向对象的特性:封装
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 封装 //好处://不让外部看到内部成员变量,保证内部成员变量的私密性和安全性;//过滤不合理的值//(屏蔽内部的赋值过程,让外界不必关注内部的细节)//弱语法://动态检测,只有在运行的过程
2015-04-05 22:58:45
260
原创 分类
分类(category)的使用注意/* 分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法 使用注意: 1> 分类只能增加方法,不能增加成员变量 2> 分类方法实现中可以访问原来类中声明的成员变量 3> 分类可以重新实现原来类中得方法,覆盖掉原来的方法 会导致原来的方法没法再使用 4> 方法调用的优先级
2015-04-05 22:52:35
223
原创 id类型
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- id类型/* id 类型 id 类型,定义的对象,是一个万能指针(可以指向任何对象) id类型和NSObject相比优点: 1> id是运行的时候,才去检查类型,NSObject是编译
2015-04-05 22:46:36
398
原创 响应方法
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// 响应方法#import @interface Dog : NSObject- (void)eat:(NSString *)name andFoodName:(NSString *)Foo
2015-04-05 22:38:31
284
原创 构造方法init
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 构造方法 init/* 对实例变量进行初始化 */#import @interface Person : NSObject@property int a
2015-04-05 22:35:50
480
原创 点语法
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 点语法/* 1. 点语法: 如果实例变量已经实现了get和 set 方法,此时,我们使用对象名 + . +实例变量名 替代之前的设置值和获取值的方式 设置值: 以前-->
2015-04-05 22:31:19
608
原创 @synthsize
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- @synthsize关键字/* 当使用 @property 和 @synthsize 生成和实现get 和set方法 @synthsize 代替了方法的实现 注意: .h
2015-04-05 22:30:47
454
原创 @property
@property @property 关键字的使用 (编译器指令) 必须与@synthsize关键字匹配使用 (代替了set 和 get 方法的声明) 作用: xcode4.4之前 编译器遇到 @property 的时候,自动增加 实例变量 的get
2015-04-05 22:24:52
915
原创 static
static/* static在oc中得使用 不能用的地方 1> 修饰实例变量 2> 修饰方法 能使用的地方 1> 局部变量: 在代码块内部定义的变量或者方法内部定义的变量和在 c语言的函数内部修饰变量作用一样,把局部变量的作用域延长了 2> 修饰全局变量: sta
2015-04-05 22:14:53
273
原创 self
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- self 关键字/* self 是指针:指向了方法调用者,代表着当前对象(方法调用者) 谁调用了当前方法, self代表谁 * self出现在对象方法中,self就代表对象 * self出现在类方法中,self
2015-04-05 22:12:09
273
原创 SEL
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// SEL 类型/* 把Person类中得playGame方法封装成了SEL 通过一个函数来实现的封装 SEL 是一个类型 */#import
2015-04-05 22:11:06
302
原创 oc中的相对私有变量和方法
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- oc中得私有变量 (相对私有)/* 如果在.m中定义了变量,则这些变量只能在当前类中使用,不能被子类继承 也不能在子类中可见,当然也不能使用 *///oc中得相对私有方法
2015-04-05 22:08:48
375
原创 oc中不允许方法重载
方法的重载: 在一个类中,出现多个同名的方法,但是方法参数的类型或者参数的个数不同 在其他语言中,这叫做方法的重载 ********************** 特别强调 ********************** ***** 在OC语言中不存在方法的重载
2015-04-05 22:05:06
723
原创 NSString基础用法
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSString 类介绍及用法#import int main(int argc,const char * argv[]) { @autoreleasepool {
2015-04-05 22:01:30
322
原创 description
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- description方法介绍及重写#import @interface Dog : NSObject{ @public NSString *_name; int _s
2015-04-05 21:58:29
316
原创 BOOL
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// BOOL Boolean/* BOOL 逻辑判断 必须全大写 是一种新的定义类型 只能定义 YES 或 NO 也就是 1 或 0 Boolean 只能定
2015-04-05 21:54:34
272
原创 实例变量修饰符
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 实例变量修饰符/* 实例变量修饰符 (访问控制) 1> @public 共有的,公共的,在任何地方都可以被访问 2> @protected 受保护的,在当前类和他得子类(派生)中使用
2015-04-05 21:52:58
378
原创 关联关系
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------#import @interface Ipad : NSObject{ @public NSString *_model;}- (void)playMusic;- (void)pauseMusic;
2015-04-05 21:35:10
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人