ACCESS编程错误总结(一)

各种IOS开发经验教训总结

1、所有的UI操作,都使切换至主线程遭遇展开.否则,会出莫名其妙的错误.

2、在主线程遭遇,runloop默认是打开状态的。非主线程中,如果如为此到runloop,必须手动开启runloop。

3、对于大的EXEC_BAD_ACCESS,EXC_BAD_INSTRUCTION,错误,一般还是为看已经被release的对象造成的。尤其是以一个线程中做客另外一个线程的autorelease库中之目标,尤其要小心此类题材。

4、严格遵循iphone 内存管理手册,对于非是由而创造的靶子,不要越权release,否则,可能会见招程序crash.有时,一些扣押起格外重的bug,在通过N过次努力,多种思路尝试fix之后,再回头分析bug产生的来头,你晤面发现,造成这严重bug的原因,很可能是您违反了一个眼看的条条框框引起的.这个规则而老了解,熟悉,但尽管是当coding的时,稍不留神违反了它们.于是不怕带了凄美后果.

5、除了面向对象的cocoa外,iphone编程不要遗忘不面向对象的Core Foundation。 面向对象库里很多无底机能,可以品尝在Core Foundation里摸索找。披如:RSA算法,MD5算法,SHA1算法,AES加密算法等,cocoa对象库里连没对应的兑现,但于core foundation里,均发生照应的落实。

6、NSString类里没有的字符串编码GBK,GB2312,GB18030等,在CoreFoundation里,能找到呼应的编码。建立socket连接,获得输入流和出口流时,也欲采取Core Foundation里的CFNetwork api。等等。

7、通过安装NSZombieEnabled参数,有不行有效救助解决内存释放错误。

以摒除某个对象时,如果为该对象设置了delegate,则要先拿delegate设成nil,这是同种植可以的代码习惯。

8、在3.0 的Simulator上以Instruments 检测内存泄漏时,无法看出函数叫,只能看看一些地方指针.在3.1,3.1.2,3.1.3之simulator都健康,能够正常地看看是以哪个函数中是的内存泄漏.

透过Nib文件加载viewcontroller的各种UI控件时时,在viewDidLoad函数里,viewController的控件才会动用。在viewcontroller的构造函数里,nib里之控件都还不曾到位链接构造为。

9、iPhone程序崩溃不要焦躁。可以组成使用Console和objc_exception_throwACCESS可以长足稳定来所在。

相关文章