我试图通过另一个文件中的方法传递int值。我在cocos2d上构建。我有以下代码来计算我的intenergyInt
-(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]);
您应该将方法returntype更改为int
-(int)energyCalculate();
并添加
return energyInt
到方法的最后
然后您可以通过以下方式访问int
int energy = [_staminaValues energyCalculate];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句