`
ytwhw
  • 浏览: 97934 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

【转】iPhone/Mac Objective-C内存管理教程和原理剖析

阅读更多

文章转自:http://www.cocoachina.com/bbs/read.php?tid-15963.html# 

1、谁创建,谁释放(类似于“谁污染,谁治理”)。如果你通过allocnewcopy来创建一个对象,那么你必须调用releaseautorelease。换句话说,不是你创建的,就不用你去释放。
例如,你在一个函数中alloc生成了一个对象,且这个对象只在这个函数中被使用,那么你必须在这个函数中调用releaseautorelease。如果你在一个class的某个方法中alloc一个成员对象,且没有调用autorelease,那么你需要在这个类的dealloc方法中调用release;如果调用了autorelease,那么在dealloc方法中什么都不需要做。

2、除了allocnewcopy之外的方法创建的对象都被声明了autorelease

3、retain,谁release。只要你调用了retain,无论这个对象是如何生成的,你都要调用release。有时候你的代码中明明没有retain,可是系统会在默认实现中加入retain

详见:http://www.cocoachina.com/bbs/read.php?tid-15963.html# 

分享到:
评论

相关推荐

    iPhone Mac Objective-C内存管理教程和原理剖析

    //...} // obj1 会被自动释放,因为它是自动释放池内的对象```了解了这些基本概念后,你就能更好地理解 Objective-C 的内存管理机制,避免内存泄漏和意外崩溃。实践中,掌握好这些原则并结合 Xcode 的内存分析工具...

    学习Objective-C: 入门教程

    Objective-C是一种面向对象的编程语言,由ANSI C语言扩展而来,主要用于苹果公司的Mac OS X和iOS操作系统上应用程序的开发。它结合了C语言的高效性与Smalltalk语言的对象导向特性,使开发者能够构建复杂且功能丰富的...

    这是一个基于Objective-C语言的基础案例集 旨在用于给初学者快速了解Objective-C语言的语法 .zip

    Objective-C是一种强大的面向对象编程语言,它在Apple的Mac OS X和iOS操作系统中广泛使用,是开发iPhone、iPad应用的主要工具。本基础案例集旨在帮助初学者深入理解Objective-C的语法特性,通过实际代码示例来提升...

    深入浅出讲objective-c

    Objective-C是一种面向对象的编程语言,它是Apple的iOS和macOS操作系统的核心开发语言。深入学习Objective-C对于想要成为iOS或macOS应用开发者的人来说至关重要。以下是对这个主题的详细阐述: 一、Objective-C基础...

    Objective-C编程全解第三版

    4. 内存管理:Objective-C使用引用计数(Reference Counting)机制来管理内存,包括alloc, retain, release, 和autorelease等内存管理方法。为了简化内存管理,iOS 5.0之后引入了ARC(自动引用计数)。 5. ...

    Learn Objective-C on the Mac

    《在Mac上学习Objective-C》是一本面向开发者介绍如何使用Objective-C语言为Mac OS X和iOS平台开发应用程序的书籍。Objective-C是苹果公司用来开发iOS和OS X应用程序的原生编程语言,它基于C语言并加入了面向对象的...

    The Objective-C Programming Language

    4. **内存管理:**Objective-C使用引用计数的方式进行内存管理,后来在ARC(Automatic Reference Counting)的支持下,内存管理变得更加自动化。 5. **语法简洁:**尽管Objective-C具有丰富的功能,但其语法仍然保持...

    Objective-C中文教程

    - **定义**: Objective-C是一种通用、面向对象的编程语言,由Molly and Steve Jobs在20世纪80年代初开发,后被苹果公司采纳作为其操作系统Mac OS X及其设备(如iPhone、iPad等)的应用程序开发标准语言之一。...

    Objective-C基础教程(第2版)

    全面涵盖最新技术和新增工具.iPhone、iPad、Mac开发必备.Objective-C是一门面向对象、通用、高级、强大的编程语言。它有着优雅的编程环境,并发扬了C语言的优秀特性,是苹果的iOS和OS X操作系统的主要编程语言。全面...

    Objective-C入门指南

    - **在线资源**: Apple Developer官方网站提供了大量的Objective-C文档和教程。 以上是对Objective-C入门指南中提到的关键知识点的详细解释和扩展,旨在帮助初学者更好地理解和掌握Objective-C的核心概念和技术细节...

    Programming in Objective-C 6th Edition

    4. 内存管理:Objective-C中的内存管理包括引用计数机制以及自动引用计数(ARC)的介绍和使用,这是保证iOS应用稳定运行的关键技术之一。 5. 文件操作:如何在Objective-C中读写文件,包括使用标准C库函数以及利用...

    Objective-C培训资料

    Objective-C是一种面向对象的编程语言,它是在标准C的基础上发展起来的,主要用于苹果公司的Mac OS X和iOS操作系统上的应用程序开发。Objective-C不仅继承了C语言的基础特性,还引入了许多面向对象的概念和技术,如...

    Objective-C词法分析工具Parsekit.zip

    Parsekit是一个Mac OS X的框架,基于Objective-C提供类似ANTLR的功能.可以对Objective-C的语法进行词法分析. 以下软件已经使用Parsekit开发: Base: Mac SQLite 工具 TaskPaper for iPhone: 简单的TO-...

    Programming in Objective-C(最新第四版)

    通过大量的实例和练习,读者可以逐步建立起对Objective-C的理解,并能够应用于实际的iOS和Mac应用程序开发中。此外,书中还介绍了Foundation框架和Cocoa/Cocoa Touch框架的关键概念,为读者提供了从理论到实践的全...

Global site tag (gtag.js) - Google Analytics