OC
匆忙拥挤repeat
倦鸟就此散 余花怎不乱 物是人已非 落寞
红尘难看破 美梦成真否 镜花水月尔 迷惘
展开
-
OC语言学习 (一) Hello World
.h :头文件。头文件包含类,类型,函数和常数的声明。 .m :源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。 .mm :源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名当你需要在源代码中包含头文件原创 2014-12-09 17:45:31 · 4458 阅读 · 0 评论 -
OC语言学习 (七) 内存管理
只有对象 才需要内存管理,基本数型类型不需要。对象的 release、retain、retainCount方法说明:release 引用计数-1retain 引用计数加1,返回对象本身retainCount 返回引用计数的数目原创 2014-12-24 11:24:35 · 995 阅读 · 0 评论 -
OC语言学习 (二) 创建OC对象类、成员/静态变量、对象/类方法
OC 面向对象一般需要.h 和.m(或.mm 以后不赘述) 文件配合来创建类。.h 使用@inteface 和@end ,在之间定义,变量和方法只能定义,不能初始化@interface Student : NSObject //@interface声明。 没有@interface 只有@implementation也能定义一个类{@p原创 2014-12-09 18:45:57 · 11080 阅读 · 0 评论 -
OC语言学习 (五) Category分类 和 类的延展Extension
分类:在不修改原有的类的基础上增加新的方法一个庞大的类可以分模块开发一个庞大的类可以由多个人来编写,更有利于团队合作除有的Person.h和Person.m,新增两个文件Person+Stone.h#import "Person.h"@interface Person (Stone)//Person分类类型 Stone分类名{ //不能在原创 2014-12-10 15:27:53 · 7285 阅读 · 0 评论 -
OC语言学习 (三) 成员变量get/set方法和“.”语法,@proterty和@synthesize关键字
Person.h#ifndef oc_Person_h#define oc_Person_h@interface Person : NSObject{ int age;@protected float height;}- (int) age; //get方法- (void) setAge:(int)pAge; //set方法@end#endif原创 2014-12-10 10:53:40 · 9891 阅读 · 5 评论 -
OC NSSet、NSMutableSet、NSArray、NSMutableArray
不可变长度的Set@interface NSSet : NSObject 初始化方法+ (instancetype)set; //声明一个空集+ (instancetype)setWithObject:(id)object;+ (instancetype)setWithObjects:(const id [])objects count:(NSUInteger)cnt;+原创 2015-02-04 12:50:20 · 4308 阅读 · 0 评论 -
OC语言学习 (六) 继承、多态,构造方法,description方法
声明父类Animal继承自NSObjectAnimal.h#ifndef oc_Animal_h#define oc_Animal_h@interface Animal : NSObject { @public int weight;}- (void)eat;//重写默认构造方法- (id) init;//自定义构造方法- (id) initWithW原创 2014-12-10 18:20:36 · 2359 阅读 · 0 评论 -
OC语言学习 (四) SEL对象,用于日志输出的宏
SEL 对象即一个selector对象,保存一个方法的地址。Person.h#ifndef oc_Person_h#define oc_Person_h@interface Person : NSObject{ int age;@protected float height;}@property int age; //编译器自动解释成 int age的get原创 2014-12-10 14:05:48 · 5569 阅读 · 0 评论 -
OC block
OC的block跟c中的函数指针类似定义block变量: 返回值类型 (^block变量名) (参数类型1, 参数类型2, ....);给block变量赋值 block变量名 = ^(参数类型1 参数名称1, .....){ };void (^myblock)() = ^{ //^(){ 赋值时,右边的若是无参,则包含参数的()可省略原创 2015-02-04 15:14:19 · 950 阅读 · 0 评论