Tag Archives: objective-c

Apple 发疯了

Apple 发布了 os4.0

新的Game Center -> openFeint , Plus+ 等第三方平台怎么活下去。矛盾开始了

iAD -> 公开指责 google ,又一个敌人

以及 3.3.1

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

这下 unity 和 即将来临的flash也被一棍打死了。

unity3d 论坛火爆讨论

Adobe 目前在twitter上的声明 :AdobeWe are looking into the new SDK language. We continue to develop Packager for iPhone OS which will debut in Flash #CS5

当然cocos2d 也赶紧来了个声明,哈哈不关我的事

栽大了之Objc过度释放对象

事情是这样的,4个月前我写了份实现类似下拉框选择操作的界面.
一个月前,发现了这个View 在dealloc 会crash掉.
多次调试无果,上 devForum.apple.com 询问也无人问津.
今天决定再次调试下,还是没找到哪里出问题.
最后决定求助 cocoachina 上的现场观众
最后开始一行一行的注释代码做终极调试.

离谱的事情发现了,只要我创建一个名为 mainText 的 UILabel ,在dealloc 中程序就会crash ,改成其他名字无事.难道是apple的bug? 新写了个view测试了,还是没问题.

接着接着就发现了在dealloc方法中:
[mainText release] ,mainText = nil;
// NSLog(@"release %@",bgView);
[bgView release];
// NSLog(@"release %@",originView);
[originView release];
// NSLog(@"release %@",labelArray);
[labelArray release];
// NSLog(@"release %@",mainText);
[mainText release];

该死的,不知道当时那根神经错了,居然释放了两次,当然出错咯.问题也解决了.

所以在确认释放对象的情况下一定要写成:
[instance release],instance = nil ;

个人经验是,对于objective-c的内存管理都是得经过磨练才出来的,前期多犯错误是好事情.
当然我认识一个朋友 ,他不释放任何对象,因为反正关闭iPhone后系统会处理的.这种觉悟不是大部分程序员有的,大家还是稳步前进咯.

游戏开发牛书推荐

在看一本叫 Programming Game AI By Examples 的书
(本来打算买实体书的,后来想想不能破例,还是down了本电子书 “)
看完第二章后彻底折服了 ,写的这么好的书真是不多见的
这才是真正的设计模式 ,寥寥几行代码就把整个世界给建模了
结构异常清晰,细节异常周到 堪称完美的作品
自己曾设计了不少不成型的东西,这次能见大师级别的代码确实收获颇多。
觉得一下子成长了不少。
而且最兴奋的是发现许多设计上的结构在许多地方都是雷同的
包括 Objective-c ,Box2d ,之前还一直觉得 box2d 使用起来还真是繁琐
创建一个对象还得先 ref 后才能创建

简单的说设计模式就是通过规范的设计和规范的代码(当然带来的结果是繁琐的代码会多了不少)带给清晰的结构和逻辑。在代码和功能越来越多时便显的尤其重要了。

在虚拟机里面把书上的例子全跑了一遍,决心花半年时间把所有东西消化,这些demo太吸引人了。

我的终极目标是做一个架构师,不只是用户,程序员也会使用我的产品。努力奋斗,会来的。:)

需要电子书的朋友网上自行搜索把,很多资源的,官网并提供源码和例程下载。