如何在Objective-C中调用我的方法?

时间:2012-02-08 21:20:01

标签: iphone objective-c methods char

我的标题中有这个声明:

- (char*) randomCharGenerator;

方法本身:

- (char*) randomCharGenerator {
    char *letter;
    return letter;
}

从我在CocoaDevCentral(http://cocoadevcentral.com/d/learn_objectivec/)上的教程中读到的内容,我试着这样称呼它:

char *tempLetter;
tempLetter = [char randomCharGenerator];

但我得到错误:“预期的表达。”我做错了什么?

1 个答案:

答案 0 :(得分:2)

你在哪里

tempLetter = [char randomCharGenerator];

您需要将char替换为您为其定义randomCharGenerater方法的类的实例。

这是因为在这个声明中:

- (char*) randomCharGenerator;

开头的-表示randomCharGenerator是其所在类的实例方法,因此需要将其发送到您的类的实例。如果您已将-替换为+,则需要将randomCharGenerator消息发送到,而不是类的实例。

请注意,char是C数据类型,而不是Objective-C类或对象,因此您无法向其发送消息。因此,[char foo]形式的表达在语法上是正确的。