【问题标题】:Calling a obj-c method with a parameter带参数调用 obj-c 方法
【发布时间】:2009-03-03 18:19:55
【问题描述】:

我已将 c 样式函数更改为 Objective-c 方法。作为一种方法,我该如何使用它?

    NSString* myfunc( int x )

       is now:

    - (NSString *)myFuncWithParam:(int)x


 c code:  myString = myfunc(x);  // works

 obj-c code: myString = myFuncWithParam(x); // fails to compile. 

来自答案之一:myString = [object myFuncWithParam:x];

在这种情况下,“对象”会是什么?

【问题讨论】:

  • 您应该将问题的标题编辑为“Calling an objective-C method with a parameter”。
  • 我已经更新了我的答案以描述什么是对象...在继续使用 Obj-C 之前,您可能需要先学习一下面向对象编程,因为它是一个非常重要的概念。
  • 你不能仅仅稍微改变语法就期望过程 C 代码突然像 Objective-C 一样工作。这就像在你所有的单词后面加上“o”并想象你说的是西班牙语。你需要真正学习 Objective-C。

标签: c objective-c function methods


【解决方案1】:

myString = [object myFuncWithParam:x];

object 是具有您正在调用的方法的对象。如果你从同一个对象调用它,你将使用'self'。 This tutorial 可能会帮助你学习 Obj-C。

【讨论】:

    【解决方案2】:

    您需要使用方括号“消息”语法:

    myString = [myObject myFuncWithParam: value];

    【讨论】:

      【解决方案3】:

      题外话/老人的胡言乱语:

      有一次,当我感到无聊时,我尝试使用运算符重载为 C++ 创建一个类似于 Obj-C 的语法。我相信我能够得到

      myString = myObject[myFuncWithParam](value); 
      

      上班。

      【讨论】:

        猜你喜欢
        • 2010-10-11
        • 2011-03-05
        • 1970-01-01
        • 1970-01-01
        • 2013-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-11
        相关资源
        最近更新 更多