火星人驾到

2011年2月1日

object-C 与 C++的比较

摘要: 目前好象只有Apple使用Objective-C作为其支持的语言吧。与C++的不同之处有:O-C中所有的类都必须继承自NSObject。O-C中所有对象都是指针的形式。O-C用self代替this。O-C使用id代替void*。O-C使用nil表示NULLO-Ck只支持单继承。O-C使用YES/NO表示TRUE/FALSEO-C使用#import代替#includeO-C中用消息表示类的方法,并采用[aInstance method:argv]调用形式。O-C支持反射机制O-C支持Dynamic Typing, Dynamic Binding和Dynamic Loading。与C++的相同之处 阅读全文

posted @ 2011-02-01 14:59 火星人驾到 阅读(7514) 评论(0) 推荐(2) 编辑
Object-C 中的Selector 概念

摘要: 在iphone程序中会大量看到@selector这样的用法。 简而言之,你可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应用函数指针,这样只能做一个@selector语法来取. 它的结果是一个SEL类型。这个类型本质是类方法的编号(函数地址)?因此我们有如下代码。一.取得selector值.C函数指针int add(int val) { return val+1; } int (* c_func)(int val); //定义一个函数指针变量 c_func = add 阅读全文

posted @ 2011-02-01 14:58 火星人驾到 阅读(2610) 评论(0) 推荐(0) 编辑