我正在尝试从另一个文件中的方法传递一个 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]);
最佳答案
您应该将方法的返回类型更改为 int
-(int)energyCalculate();
并添加
返回 energyInt
到方法结束。
然后您可以通过以下方式访问 int
int energy = [_staminaValues energyCalculate];
关于ios - 将 INT 值从一个场景传递到另一个场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24799786/