【问题标题】:How to call and declare object for a method call in iOS如何在 iOS 中为方法调用调用和声明对象
【发布时间】:2011-09-01 19:26:32
【问题描述】:

假设在 iOS 中有“普通”类,称为 A。我想将此作为参数传递给 B 类,方法“myMethod”。

“A”被声明为指针:

A       *myA;

我不清楚 call 的语法。这是方法(我认为这可能是正确的:

- (void *) myMethod:(A *) myA 

应该调用

[b myMethod:myA]

[b myMethod:&myA]

由于 myA 是一个指针,它似乎应该是第二个,但不知何故我认为它是第一个。

【问题讨论】:

    标签: ios methods call


    【解决方案1】:

    这是第一个:

    [b myMethod:myA]

    我很少像以前在 C/C++ 中那样在 Objective-C 中取消引用指针。

    【讨论】:

    • 谢谢。但我仍然感到困惑——“&”提取了地址,这应该是指针声明接收的内容。为什么不必这样做?
    • 当您编写像-(void)method:(MyObject*)obj 这样的方法时,它会接收MyObject* 类型的变量。当您将参数传递给该方法时,您将其定义为MyObject *myObj。所以进去和出来都是一样的。您可能会对 C++ 具有点 (.) 和箭头 (->) 运算符这一事实感到困惑。 Objective-C 没有这个区别。
    • 最后一件事...如果您要将 &myObj 传递到方法中,您将采用 myObj (定义为 MyObject* 并采用其地址,这是一个地址的地址。所以你实际上是在传递一个MyObject**
    猜你喜欢
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    相关资源
    最近更新 更多