Cocoa:'amountOfReservations'的本地声明隐藏了实例变量。怎么了?

时间:2012-01-06 14:20:44

标签: cocoa variables instance local declaration

-(id)init{
    int amountOfReservations = 0;
    NSNumber *amountOfReservationsNumber = [NSNumber numberWithInt:amountOfReservations];
    [reservationsAmount addObject:amountOfReservationsNumber];
    return self;
}

问题导航器说:

* NSNumber amountOfReservationsNumber = [NSNumber numberWithInt: amountOfReservations ];
'amountOfReservations'的本地声明隐藏了实例变量



有什么问题?请帮帮我......

2 个答案:

答案 0 :(得分:2)

您的类有一个名为amountOfReservations的实例变量。您最好将init方法中的变量名称重命名为例如localAmountOfReservations

顺便说一下,您需要在[super init];方法中调用init

答案 1 :(得分:0)

如果您在头文件

中声明了变量,则会发生这种情况
int amountOfReservationsNumber

当你想在你的init中使用它时,你再次声明 。您是“本地”(如在方法内部)声明已经声明为“全局”的变量为.h文件中的int。