我试图从我在另一个文件中的方法传递一个int值。我在cocos2d上构建。我有以下代码来计算我的int energyInt
-(void)energyCalculate{
NSCalendar *c = [NSCalendar currentCalendar];
//Get Current Date
NSDate *d1 = [NSDate date];
//Get Last Stamina Input
NSDate *d2 = [[NSUserDefaults standardUserDefaults] objectForKey:@"hunger_last_input"];
NSDateComponents *components = [c components:NSSecondCalendarUnit fromDate:d2 toDate:d1 options:0];
NSInteger diff = components.second;
NSString * staminaString = [[NSUserDefaults standardUserDefaults] objectForKey:@"hunger"];
NSInteger myInt = [staminaString intValue];
energyInt = myInt - (diff * decreaseConstantChar);
NSLog(@"ENERGY TEST STAMINA: %d", energyInt);
}
我在.h文件中设置
@interface staminaValues : CCNode
@property int energyInt;
-(void)energyCalculate;
其他文件
然后在另一个文件中,我可以使用以下内容调用该值,通过NSLOG
为我提供正确值。
[_staminaValues energyCalculate];
但是,我如何使用/获取energyInt
值?
我尝试了以下但是返回0。
energy = _staminaValues.energyInt;
NSLog(@"Hunger Test : %d", energy);
NSLog(@"Hunger Test : %d", _staminaValues.energyInt);
NSLog(@"Hunger Test : %d", [_staminaValues energyInt]);
答案 0 :(得分:1)
您应该将方法returntype更改为int
-(int)energyCalculate();
并添加
return energyInt
到方法的最后。
然后你可以通过
访问int int energy = [_staminaValues energyCalculate];