Objective-C 基础编程
Monica爱吃饺子
自由 随和
深沉 多思
展开
-
Objective-C简介
简介Objective-C,是扩充C的面向对象编程语言。它主要使用于Mac OS Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是在C的基础上,加入面向对象特性扩充而成的编程语言。目前,Objective-C主要应用于Mac OS X和iOS这两个NeXTSTEP的衍生系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-转载 2012-09-08 10:38:45 · 5197 阅读 · 0 评论 -
Objective-C语言特性
Objective-C语言特性1.Objective-C建立在C语言之上,他是在C语言基础上添加扩展而来能够创建和操作对象的一门心的设计语言。2.Objective-C是ANSI-C的超集,可以混编C和C++代码。3.可以在现存C编译器基础上实现,不需要编写全新的编译器。在mac系统上编写Objective-C一般都使用xcode编译器。4.不支持命名空间机制。一般都是在类别名原创 2012-09-08 11:35:18 · 7674 阅读 · 0 评论 -
Objective-C 关于空值nil和Nil和NULL和NSNull
1.nil一个null指针,指向一个objective - c的对象表示一个对象为空:NSString* str = nil; ( #define nil ((id)0) )2.Nil一个null指针,指向一个objective - c类对象。表示一个类对象为空:Class class = Nil;3.Null对Objective-C值类型为空:int n原创 2012-12-14 21:23:51 · 4436 阅读 · 0 评论 -
objective-c 基本概念和关键字简介
关键字@看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。@interface声明类@implementation实现类@protocol声明协议@optional与@protocol配合使用,说明协议中的某个或者某几个方法可以不实现@required转载 2012-12-27 21:42:36 · 1846 阅读 · 0 评论 -
Objective-C深复制和<NSCopying>协议
1.简单复制只能实现浅拷贝:指针赋值,使两个指针指向相同的一块内存空间,操作不安全。2. Foundation类已经遵守了和 协议,即实现了copy和mutableCopy方法,因此Foundation对象可以使用这些方法创建对象的副本或可变副本@protocol NSCopying- (id)copyWithZone:(NSZone *)zone;@end@proto原创 2012-09-20 12:31:32 · 21548 阅读 · 0 评论 -
Objective-C继承机制
一、继承1.基本概念一个新类可以从已有的类派生出来,这个过程称为继承,新类称为子类,已有的类称为父类或超类。2.继承的特点:实现代码重用:子类可以重用父类的实例变量和方法。子类可以增加实力变量和方法扩展父类,但不能重载父类的实例变量所有类型都有一个公共基类:NSObject3.NSObject类 允许定义自己的根类,但通常不这样做,而是利用现有的类原创 2012-09-16 14:30:23 · 3936 阅读 · 0 评论 -
Objective-C多态:动态类型识别+动态绑定+动态加载
一、Objective-C多态1.概念:相同接口,不同的实现来自不同类可以定义共享相同名称的方法。动态类型能使程序直到执行时才确定对象所属类型动态类型绑定能使程序直到执行时才确定要对对象调用的实际方法2.Objective-C不同于传统程序设计语言,它可以再运行时加入新的数据类型和新的程序模块:动态类型识别,动态绑定,动态加载3.id类型:通用指针类型,弱类型,编译时不进行原创 2012-09-16 16:59:58 · 20427 阅读 · 1 评论 -
Objective-C 属性关键字(assign , retain , copy , readonly , readwrite , atomic , nonatomic)
Objective-C 中设置属性一般有一下关键字:-- assign:指定setter方法用简单的赋值,这是默认操作。你可以对标量类型(如int)使用这个属性。你可以想象一个float,它不是一个对象,所以它不能retain、copy。-- retain:指定retain应该在后面的对象上调用,前一个值发送一条release消息。你可以想象一个NSString实例,它是一个对象,而且你可原创 2012-09-27 19:50:51 · 2419 阅读 · 1 评论 -
Objective-C内存管理机制
Objective-C内存管理机制 1.Objective-C中所有对象都在堆区建立,由程序员负责释放对象所占用的内存。内存管理机制由3种:垃圾回收、引用计数、C语言方式。2.垃圾回收是Mac OS10.5提供的新方案,在系统存在一个垃圾收集器。如果发现某个对象没有被任何对象使用,该对象被自动释放。3.C语言方式,原始内存管理方式。用户手动调用malloc、calloc函数分配原创 2012-09-09 09:52:01 · 4695 阅读 · 0 评论 -
Objective-C 面向对象初体验
1.类的声明1-1@interface开始,@end结束1-2变量和方法不能混在一起,实例变量必须放在{}内1-3没有static、const的实例变量。在.m文件中可以声明static静态属性:属于类,不属于对象。同样,也没有const方法,没有友元方法。1-4“-”声明的方法是protect,“+”声明是public,如果一个方法在.h中没有声明,但在.m中有定义,则只原创 2012-09-08 18:44:07 · 2450 阅读 · 0 评论 -
Objective-C 声明一个C语言类型的数组和访问方式@property
最近在做程序中需要在Objective-C类中声明一个C语言方式的一维数组:@interface CArrayTest : NSObject{@private BOOL testArray[4]; }@end声明属性如果是@property(nonatomic,assign)BOOL testArray[4];会提示错误:Property can no原创 2012-12-17 11:11:44 · 7384 阅读 · 1 评论