很多以前iOS开发者看到这个题目肯定会很奇怪,cocos2d-x作为一个C++实现的引擎,为什么会和Object-C扯上关系?实际上,cocos2d-x是cocos2d-iphone的C++实现,为了更好的迎合原cocos2d使用者的习惯,整个cocos2d-x引擎带有浓浓的object-c味,所以在上手之前,先了解OC的部分特性,会更方便大家理解cocos2d-x的设计思路,并且方便大家能够通过更多的cocos2d的教程,学习如何使用cocos2d-x。
1.神奇的CCObject
在OC中,所有的类都继承于同一个基类--NSObject类,该类定义了一系列的函数操作,使得整个OC体系可读性极强,并且通过这个类的方法,实现了OC的内存管理模式。详情可以参见一下http://blog.sina.com.cn/s/blog_62ba0fdd0100ve9b.html,当中列举了这个神奇的NSObject的使用方法。
与此同时,为了与之对应,cocos2d-x的设计者设计了CCObject类,模拟了NSObject类,这样就可以在c++使用OC的一些特有功能了,从OC界入门的开发者更容易接受。
扩展:NSObject 中 ,NS的意思是 Next Step,N-S是乔帮主被开除出苹果之后创立的公司,90年代后,此公司又被苹果收购,使得乔帮主重新回到苹果,并最终创立了现在的历史格局。
2.想叫我是谁我就是谁 id类