我的标题中有这个声明:
- (char*) randomCharGenerator;
方法本身:
- (char*) randomCharGenerator {
char *letter;
return letter;
}
从我在CocoaDevCentral(http://cocoadevcentral.com/d/learn_objectivec/)上的教程中读到的内容,我试着这样称呼它:
char *tempLetter;
tempLetter = [char randomCharGenerator];
但我得到错误:“预期的表达。”我做错了什么?
答案 0 :(得分:2)
你在哪里
tempLetter = [char randomCharGenerator];
您需要将char
替换为您为其定义randomCharGenerater
方法的类的实例。
这是因为在这个声明中:
- (char*) randomCharGenerator;
开头的-
表示randomCharGenerator
是其所在类的实例方法,因此需要将其发送到您的类的实例。如果您已将-
替换为+
,则需要将randomCharGenerator
消息发送到类,而不是类的实例。
请注意,char
是C数据类型,而不是Objective-C类或对象,因此您无法向其发送消息。因此,[char foo]
形式的表达在语法上是正确的。