`
yesjavame
  • 浏览: 694655 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

今天看了Objective C中在方法中分配并返回对象这一节,应该坚决禁止这种行为。

阅读更多

Objective C还不能象java这样完全自动gc。所以要么象传统C++一样从外部传入要返回的对象指针,由创建该对象的

调用者释放该对象,要么就在方法内部释放对象(不能返回到方法外)。

由方法设计者在方法内分配并反回对象,由方法调用者在方法外释放对象是一种极不友好的协作方式。非常容易出问题,

这在传统C++中是最基础的知识。

分享到:
评论

相关推荐

    Objective-C语言核心语法

    在Objective-C中,对象通过发送`alloc`消息(即调用`malloc()`或等价函数)进行分配,而初始化则通过调用`init`方法完成。 类在Objective-C中扮演着对象工厂的角色。大部分类不需自己实现`+alloc`方法,而是从其父...

    objective-c 面向对象编程

    Objective-C是一种基于C语言的面向对象编程(OOP)语言,尤其在苹果的iOS和macOS开发中占据核心地位。它的设计目标是扩展C语言,使其支持类、消息传递和其他面向对象特性。以下是对Objective-C面向对象编程的详细...

    C语言主要知识点巩固(学习Objective-C 的前提)

    在掌握了这些C语言基础知识后,你将更好地理解和学习Objective-C,因为Objective-C是在C语言的基础上扩展的面向对象编程语言,它保留了C的大部分语法,并引入了类、消息传递等面向对象特性。因此,牢固的C语言基础...

    基于Objective-C的面向对象编程

    在Objective-C中,对象是通过创建类的实例来实现的,使用`init`方法初始化。 2. **类**:类是对象的蓝图,定义了一组共享的属性和方法。在Objective-C中,类使用`@interface`关键字声明,`@implementation`关键字...

    Objective-C培训教程

    在第二章数据类型中,Objective-C提供了标准C语言的数据类型外,还引入了对象类型的引用。在Objective-C中,所有的对象变量都是指针类型,使用*符号来表示。id类型是Objective-C中一种特殊的数据类型,可以指向任何...

    Objective-C基础教程(入门教程).pdf

    11. Posing:这是一个高级的Objective-C特性,允许开发者替换对象的类实现,这在某些高级用例中非常有用,例如替换系统的对象以改变其行为。 12. 协议(Protocols):在Objective-C中,协议定义了一组方法,这些...

    Objective-C和C语言混编的计算器

    首先,Objective-C是C语言的超集,这意味着任何有效的C语言代码都可以在Objective-C中运行。Objective-C通过引入消息传递机制、类别(Category)、协议(Protocol)等特性,增强了C语言的功能,使其更适合构建面向...

    The Objective-C Programming Language

    Objective-C是一种面向对象的编程语言,由苹果公司在1986年引入,并在随后的几年里被广泛应用于Mac OS X和iOS操作系统上的软件开发。它结合了C语言的效率和Smalltalk语言的面向对象特性,为开发者提供了强大的工具集...

    Objective-C程序设计

    在Objective-C中,对象通过发送消息来执行操作,这种机制类似于其他语言中的方法调用。消息传递的关键在于选择正确的接收者(对象)和正确的方法(消息)。 Objective-C的类定义是基于接口(Interface)和实现...

    programming with objective c

    这是Objective-C中对象间通信的基本机制。 #### Use Pointers to Keep Track of Objects 使用指针来跟踪对象。在Objective-C中,对象是通过指针来引用的,因此正确地管理指针是非常重要的。 #### You Can Pass ...

    Object-CMock objects for Objective-C在Objective-C中使用Mock对象的实践

    这个项目是关于在Objective-C中使用Mock对象的实践。Mock对象是软件测试中的一种重要工具,用于模拟真实对象的行为,从而在单元测试中隔离被测代码的依赖项。本项目将介绍如何使用Objective-C的测试框架和第三方库来...

    Programming With Objective-C

    根据给出的内容,我们可以总结出以下关于Objective-C编程语言的知识点,这些知识点将覆盖从Objective-C的基础知识到高级特性,以及如何在iOS移动开发中使用Objective-C: 1. Objective-C简介 Objective-C是一种面向...

    Objective-C

    Objective-C是在C语言的基础上扩展了Smalltalk式的面向对象特性,使得它既有C语言的强大功能,又具备了面向对象编程的灵活性。 在Objective-C中,类是所有对象的基础。类定义了一组属性(实例变量)和方法(函数)...

    在Objective-C中使用C++

    Objective-C是C语言的超集,这意味着任何有效的C代码都可以在Objective-C中使用。由于C++也是C的超集,因此Objective-C也能够直接支持C++代码。开发者可以在Objective-C类中嵌入C++代码,反之亦然。 2. **命名空间...

    objective-c基础教程

    Objective-C继承了C语言的基础语法结构,并在此基础上增加了面向对象的特性,包括类(Class)、对象(Object)、消息传递(Message Passing)等概念。具体特点如下: 1. **动态性**: Objective-C是一种动态类型的语言,这...

    ObjectiveC程序设计类对象和方法PPT教案学习.pptx

    在ObjectiveC中,类和对象是核心概念,而方法则是类中定义的行为。本篇内容将深入探讨ObjectiveC中的类、对象和方法。 首先,我们要理解**什么是对象**。在面向对象编程中,对象是对现实世界实体的一种抽象。比如,...

    Objective-C Runtime中的并发内存分配.pdf

    本文将探讨Objective-C Runtime中的并发内存分配,特别是方法缓存的内存分配过程,以及如何保证这一过程在多线程环境下的线程安全。 objc_msgSend函数是消息发送的核心,它的工作是查找对象发送消息对应的方法实现...

    Objective-C面向对象编程的基本应用

    Objective-C是一种基于C语言的面向对象编程语言,主要在苹果的iOS和macOS平台上使用。它的设计目标是为C语言添加面向对象的功能,同时保持与C的兼容性。本篇文章将深入探讨Objective-C面向对象编程的基本应用,以及...

    From C++ to Objective-C(中文版)

    - **动态性**:Objective-C中的对象可以在运行时动态地发送消息并响应,这是通过消息传递机制实现的。这种机制使得Objective-C具有很高的灵活性,但也增加了程序的复杂性。 **2.2 语法特点** - **关键字**:为了与...

Global site tag (gtag.js) - Google Analytics