У меня есть 2 контроллера, и я бы хотел послать float
от LevelViewController
до ViewController
. Но он всегда посылает его как 0 (ноль). Вот мой LevelViewController.mПередача значения поплавка другому ViewController
ViewController *inGame = [[ViewController alloc] init];
enemySpeedShouldBe = 0.800f - 0.07f * levelSelected;
inGame.enemySpeed = enemySpeedShouldBe;
Где levelSelected
и enemySpeedShouldBe
также плавает.
NSLog(@"%f", levelSelected)
дает мне правильное значение (1.0, 2.0 и т.д.), но когда я посылаю его к ViewController
, он равен 0.
Вот мой ViewController.h
@property (nonatomic) float enemySpeed;
Я я читал об этой проблеме, но я не мог найти способ заставить ее работать.
-/-/-/-/-/-/-/-/-/-/- EDIT -/-/-/-/- -/-/-/-/-/-
вот мой враг миллисекунды методы счетчик в "ViewController.m"
-(void)enemyStartCounter{
enemyMs += 0.001;
if(enemyMs > enemySpeed){ // i use 'enemySpeed' nowhere except here
[enemyTimer invalidate];
[fire setHidden:YES];
[self enemyFired];
}
}
-(void)enemyCounter{
enemyMs = 0;
enemyTimer = [NSTimer scheduledTimerWithTimeInterval:0.001/1.0 target:self selector:@selector(enemyStartCounter) userInfo:nil repeats:YES];
}
и моя кнопка TouchUp внутри метода действия в «LevelViewController .m»
- (void)didTapLevel:(UIButton *)buttonn{
levelSelected = (float)buttonn.tag + 1.0f ;
ViewController *inGame = [[ViewController alloc] init];
enemySpeedShouldBe = 0.800f - (0.07f * levelSelected);
inGame.enemySpeed = enemySpeedShouldBe;
[self performSegueWithIdentifier:@"1player" sender:self];
}
Где вы регистрируете 'enemySpeed'? – rmaddy
Я не регистрирую его нигде, это был просто тест, чтобы увидеть его значение –
@ user3025584 В вашем вопросе вы заявили, что вы назвали 'NSLog (@"% f ", enemySpeed)' в ViewController.m. Где именно (какой метод) это строка кода? – rmaddy