这个语法有什么问题?

时间:2010-01-19 03:37:17

标签: iphone objective-c

我有#imported FirstViewController.h

我收到错误“预期”:'之前'。'标记“

NSString *myString = RoutineTitle.text;

[FirstViewController.routines addObject:myString];

我做错了什么?有人请赐教!

谢谢,

萨姆

3 个答案:

答案 0 :(得分:0)

“例程”是FirstViewController的成员吗?它看起来像“FirstViewController”是一个类名,而不是实例名,但我可能会弄错。

如果您在“FirstViewController”中,并且“routines”是作为NSArray或NSMutableArray或类似的范围内的变量,只需将其更改为:

NSString *myString = RoutineTitle.text;

[routines addObject:myString];

答案 1 :(得分:0)

语法

[FirstViewController.routines addObject:myString];

用于语言(我认为除了目标c而不是在目标c中),以便为静态变量赋值。

因此,如果routines是静态数组的对象,则应在FirstViewController类中定义静态方法并调用该方法,您应该添加以下对象:

+(void)addObjectToRoutines:(NSString *)string{//In the FirstViewController class
[routines addObject:string];
} 

来自你所在的班级

NSString *myString = RoutineTitle.text;

[FirstViewController addObjectToRoutines:myString];

现在,如果它是一个姿态变量,你首先要创建一个类的对象:

FirstViewController *viewCont = [[FirstViewController alloc] init];
[[viewCont routines] addObject:myString];

希望这有帮助。(答案是因为我的判断是FirstViewController是类名而不是变量,可能是我弄错了)

谢谢,

Madhup

答案 2 :(得分:0)

从import语句我假设FirstViewController是类的名称:

#imported the FirstViewController.h

您可能正在尝试访问该类中的变量,该变量应该是某种支持addObject:的集合:

[FirstViewController.routines addObject:myString];

但是你需要使用对象名而不是类名,比如(我不知道你的代码是怎么样的):

FirstViewController * aFirstViewController
            = [[FirstViewController alloc] initWithSomething ....];

现在假设FirstViewController有一个集合routines和适当的property声明,您可以这样做:

[aFirstViewController.routines addObject:myString];