Objective-C通过引用传递与通过指针传递。有什么不同?为什么我们根本需要它?

主流开发者00

在Objective-C中,我看到了两种将对象传递给函数的常见模式。基本上所有函数对象都是通过引用传递的,如下所示:-(void) someFunc:(UIImage*)image;这是通过引用传递的,不是吗?

但是,这是什么-(void) someFunc2:(UIImage**)image它也通过引用传递吗?还是通过指针传递指针?或者是什么?我不明白实际的区别是什么(但是我经常看到此代码)。主要问题:为什么我们需要这个指向指针传递的指针:-(void) someFunc2:(UIImage**)image谢谢。

传递双指针可以使函数交换您传入的对象。一个很好的例子是将双指针传递给NSError的所有许多Cocoa API。看看这个:

NSError *error = nil;
Result *result = [self someMethodWithPossibleError:&error];
if (![result isValid]) {
    //handle the error
    NSLog(@"Error occurred: %@", error);
}

在这种情况下,我们没有传递实际的错误实例,但是由于我们传递了指向错误的指针,因此这使他们可以在此方法中创建NSError实例,退出后,我们将指向该新实例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Objective-C是按值传递还是按引用传递?

来自分类Dev

?:在Objective-C中

来自分类Dev

为什么没有像其他Objective-C对象那样通过指针处理Objective-C块?

来自分类Dev

为什么不能在C中通过引用传递指针?

来自分类Dev

为什么在Objective-C中指向ivar的指针不好?

来自分类Dev

Objective-C-为什么我可以给指针赋值?

来自分类Dev

为什么我的变量通过引用传递?

来自分类Dev

为什么我们需要一个默认的构造函数来在C ++中通过引用传递对象?

来自分类Dev

Objective-C为什么需要__NSGlobalBlock__

来自分类Dev

在通过引用传递之前,我们应该取消对指针的引用吗?

来自分类Dev

Objective-C:UILocalNotification

来自分类Dev

Objective-C中的指针传递问题

来自分类Dev

为什么我们不允许将纯引用参数传递给std :: thread但允许传递原始指针?

来自分类Dev

当我们可以通过&运算符传递变量的地址时,为什么要通过指针传递?

来自分类Dev

为什么我们不能通过引用inout函数快速传递const值?

来自分类Dev

对于..在objective-c

来自分类Dev

如何通过Objective-C中的UIColorFromRGB传递值

来自分类Dev

Objective C Converter应用

来自分类Dev

委托Objective-C

来自分类Dev

为什么我的INT变量通过引用传递?C#

来自分类Dev

为什么在Objective-C中将变量和方法作为字符串传递?

来自分类Dev

为什么我们需要一个默认的构造函数来在C ++中通过引用传递对象?

来自分类Dev

从Objective C调用C ++

来自分类Dev

Objective C结构语法

来自分类Dev

Objective-C:UILocalNotification

来自分类Dev

如果我们将数组传递给C语言中的函数,是否总是通过引用传递它?

来自分类Dev

UISegmentedControl - Objective-C

来自分类Dev

为什么我们需要通过 InterfaceFactory 来获取对象而不是仅仅传递特定的对象

来自分类Dev

Objective C 内存管理

Related 相关文章

  1. 1

    Objective-C是按值传递还是按引用传递?

  2. 2

    ?:在Objective-C中

  3. 3

    为什么没有像其他Objective-C对象那样通过指针处理Objective-C块?

  4. 4

    为什么不能在C中通过引用传递指针?

  5. 5

    为什么在Objective-C中指向ivar的指针不好?

  6. 6

    Objective-C-为什么我可以给指针赋值?

  7. 7

    为什么我的变量通过引用传递?

  8. 8

    为什么我们需要一个默认的构造函数来在C ++中通过引用传递对象?

  9. 9

    Objective-C为什么需要__NSGlobalBlock__

  10. 10

    在通过引用传递之前,我们应该取消对指针的引用吗?

  11. 11

    Objective-C:UILocalNotification

  12. 12

    Objective-C中的指针传递问题

  13. 13

    为什么我们不允许将纯引用参数传递给std :: thread但允许传递原始指针?

  14. 14

    当我们可以通过&运算符传递变量的地址时,为什么要通过指针传递?

  15. 15

    为什么我们不能通过引用inout函数快速传递const值?

  16. 16

    对于..在objective-c

  17. 17

    如何通过Objective-C中的UIColorFromRGB传递值

  18. 18

    Objective C Converter应用

  19. 19

    委托Objective-C

  20. 20

    为什么我的INT变量通过引用传递?C#

  21. 21

    为什么在Objective-C中将变量和方法作为字符串传递?

  22. 22

    为什么我们需要一个默认的构造函数来在C ++中通过引用传递对象?

  23. 23

    从Objective C调用C ++

  24. 24

    Objective C结构语法

  25. 25

    Objective-C:UILocalNotification

  26. 26

    如果我们将数组传递给C语言中的函数,是否总是通过引用传递它?

  27. 27

    UISegmentedControl - Objective-C

  28. 28

    为什么我们需要通过 InterfaceFactory 来获取对象而不是仅仅传递特定的对象

  29. 29

    Objective C 内存管理

热门标签

归档