Objective-C程序
cui0wei0
这个作者很懒,什么都没留下…
展开
-
黑马程序员---Objective-C @property和@synthesize
@property和@synthesize#import@interface Person : NSObject{ int _age; int _height; double _weight; NSString *_name;}// @property:可以自动生成某个成员变量的setter和getter声明@property int age; //这原创 2015-05-17 20:05:50 · 294 阅读 · 0 评论 -
黑马程序员---Objective-C autorelease
Autorelease 1.autorelease的基本用法 1> 会将对象放到一个自动释放池中 2> 当自动释放池被销毁时,会对池子里面的所有对象做一次release操作 3> 会返回对象本身 4> 调用完autorelease方法后,对象的计数器不变 2.autorelease的好处 1> 不用再关心对象释放的时间 2>原创 2015-05-20 22:44:05 · 287 阅读 · 0 评论 -
黑马程序员---Objective-C 三大特性---多态
多态 1.没有继承就没有多态 2.代码的体现:父类类型的指针指向子类对象 3.好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象 4.局限性: 1> 父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类特有的方法 动物@interface Animal : NSObject原创 2015-05-13 23:48:41 · 199 阅读 · 0 评论 -
黑马程序员---Objective-C Protocol
1.协议的定义 @protocol 协议名称 // 方法声明列表.... @end2.如何遵守协议 1> 类遵守协议 @interface 类名 : 父类名 协议名称1, 协议名称2> @end 2> 协议遵守协议 @protocol 协议名称 其他协议名称1, 其他协议名称2> @end原创 2015-05-20 22:51:58 · 297 阅读 · 0 评论 -
黑马程序员---Objective-C Block
block 的定义int (^sumblock)(int, int) = ^(int a, int b){ return a + b;}; blobk的调用int c = sumblock(10, 11);注意事项void test3(){ int a = 10; __block int b = 20; void (^block)();原创 2015-05-20 22:50:55 · 188 阅读 · 0 评论 -
黑马程序员---Objective-C 三大特性---继承
继承#import 1.继承的好处: 1> 抽取重复代码 2> 建立了类之间的关系 3> 子类可以拥有父类中的所有成员变量和方法 2.注意点 1> 基本上所有类的根类是NSObject *******Animal的声明******@interface Animal : NSObject{原创 2015-05-13 00:13:53 · 272 阅读 · 0 评论 -
黑马程序员---Objective-C 三大特性--封装
封装#import@interface Student : NSObject{ int age; int no; }set方法 1.作用: 提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤 2.命名规范: 1> 方法名必须以set开头 2> set后面跟上成员变量的名称原创 2015-05-11 22:50:09 · 425 阅读 · 0 评论 -
黑马程序员---OC 中数组遍历的三种方法
NSArray *array = @[@"jack",@"jim",@"rose"]; 方法1:类似c语音的最简单遍历 for (int i = 0; i { NSLog(@"%@",array[i]); } 方法2:快速遍历 id obj代表数组中的每一个元素 fo原创 2015-05-11 22:42:38 · 356 阅读 · 0 评论 -
黑马程序员---Objective-C 分类-Category
类型是 类名+分类名.h分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法很好的多人合作,一个Person 一部分编写胳膊,一部分人编写这个人的脚,头, 分类一般一模块命名 使用注意: 1.分类只能增加方法,不能增加成员变量 2.分类方法实现中可以直接访问原来类中声明的成员变量 3.(不建议)分类可以重新实现原来类中的方法,但是会原创 2015-05-18 23:14:37 · 255 阅读 · 0 评论 -
黑马程序员---Objective-C Description方法
Description方法----重写NSLog的输出格式NSLog(@"%@", p); 1.会调用对象p的-description方法 2.拿到-description方法的返回值(NSString *)显示到屏幕上 3.-description方法默认返回的是“类名+内存地址”(如果想打印全部变量,就要重写description)需要某个类原创 2015-05-18 23:23:34 · 317 阅读 · 0 评论 -
黑马程序员---Objective-C 内存管理 - set方法的内存管理
*内存管理只针对OC对象,基本类型数据int 、double、char不需要进行内存管理1.方法的基本使用 1> retain :计数器+1,会返回对象本身 2> release :计数器-1,没有返回值 3> retainCount :获取当前的计数器 4> dealloc * 当一个对象要被回收的时候,就会调用 * 一定要调用原创 2015-05-18 23:29:13 · 236 阅读 · 0 评论 -
黑马程序员---Objective-C 成员变量的作用域
成员变量的作用域 @public : 在任何地方都能直接访问对象的成员变量 @private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private) @protected : 可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected) @package : 只要处在同一个框架中原创 2015-05-17 14:02:50 · 359 阅读 · 0 评论 -
黑马程序员---Objective-C 类的本质
类本身也是一个对象,是个Class类型的对象,简称类对象void test(){ // 利用Person这个类创建了2个Person类型的对象 Person *p = [[Person alloc] init]; // 获取内存中的类对象 Class c = [p class]; // 中括号里面的class不是类型,而是一个方法 -(Class)原创 2015-05-18 23:18:01 · 264 阅读 · 0 评论 -
黑马程序员---Objective-C Foundation
NSArrayOC数组---只能存放OC对象OC数组不能存放nil值OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等--这个array永远是空数组--NSArray *array = [NSArray array];1、NSArray的创建NSArray *array2 = [NSArray ar原创 2015-05-20 23:04:22 · 303 阅读 · 0 评论 -
黑马程序员---Objective-C 构造方法
构造方法:用来初始化对象的方法,是对象方法重写构造方法的目的:为了让对象创建出来时成员变量就会有一些固定的值重写构造方法的注意点1.先调用父类的构造方法([super init])2.再进行子类内部成员变量的初始化创建对象的时候,不要再用newPerson *p = [Person new];Person *p = [[Person alloc]原创 2015-05-18 23:10:20 · 410 阅读 · 0 评论 -
黑马程序员---Objective-C NSDictionary
key((键) ----> value(值)普通创建 NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];利用数组创建 NSArray *keys = @[@"name", @"address"]; NSArray *ob原创 2015-05-21 12:10:44 · 315 阅读 · 0 评论