【问题标题】:What type of method declaration is this? [closed]这是什么类型的方法声明? [关闭]
【发布时间】:2013-07-18 06:41:25
【问题描述】:

我刚刚遇到了这行代码,其中一个方法在没有使用 + 或 - 的情况下被实例化。你能解释一下代码吗:

void *ABCD(NSString *xyz)

【问题讨论】:

  • 哇。这是一个 C 函数。你知道什么是可怕的吗?甚至不认识基本 C 语言结构的人正在尝试编写 iOS 应用程序。这很可怕。我建议你退后一步,帮自己一个忙,在继续 iOS 开发之前学习 C。不要一次做超过你能做的事情,循序渐进地学习。 Start here,你不会后悔的。
  • 您可能有兴趣购买和阅读All the C You Need to Know by Bill Dudney。仅限 iPad。为 Objective-C 开发人员编写。

标签: ios objective-c methods


【解决方案1】:

这是一个 C 函数,类型为

 return_type  method_name (argument_list)

您的函数返回一个void *,一个通用指针,并接受一个NSString 参数。

【讨论】:

  • @Spectravideo328 不。这是Objective-C。 C 是 Objective-C 的子集,因此您可以在 Objective-C 代码中使用 C 函数。 (毕竟,这就是运行时在欺骗您使用好方法和所有 OO 的东西时所做的。)
  • 是的,我知道了。在 C 函数的参数列表中看到一个客观的 C 类型让我毛骨悚然!
【解决方案2】:

末尾有一个分号,它是一个 C 函数声明。如果你关注spiral rule for C declarations

ABCD 是什么? ABCD 是一个函数,它接受一个指向 NSString 的指针并返回一个指向 void 的指针。 (即指向任何数据类型元素的指针)。

了解螺旋规则很有用,因为 C 函数声明可能非常复杂。

【讨论】:

    猜你喜欢
    • 2012-11-17
    • 1970-01-01
    • 2013-03-20
    • 2022-01-21
    • 2019-02-10
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 2011-04-16
    相关资源
    最近更新 更多