Я знаю, что xcode не сохраняет int, но мой код, похоже, вообще не обновляет число из функции.
У меня есть в GameController.h
int charMainTouch;
и
@property (assign) int charMainTouch;
и в GameController.m:
-(void)awakeFromNib {
charMainTouch=1;
NSLog(@"%d",charMainTouch);
}
это сохраняет charMainTouch как 1 ok.Но когда я вызываю функцию из другого класса, она не будет хранить int
в GameController.m:
-(void) mainChar_touch:(int)touchTrue{ // when an class/object in touched
charMainTouch = touchTrue;//this is=2
NSLog(@"%d",charMainTouch);//this prints out 2
}
-(void) update:(CADisplayLink*)sender {
NSLog(@"%d",charMainTouch);//this still outputs 1 as if the "-(void) mainChar_touch:(int)touchTrue" had no effect on storing the int!
}
-(void)startGame {//this was already called
displayLink = [CADisplayLink displayLinkWithTarget:self selector:@ selector(update:)];
[displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
}
Я не знаю, почему она не будет обновлять intиз этой функции!Я пробовал это:
-(void) update:(CADisplayLink*)sender {
charMainTouch = charMainTouch+1;
NSLog(@"%d",charMainTouch);//works! prints out an increasing number
}
, но когда в любой момент вызывается "- (void) mainChar_touch: (int) touchTrue", это не влияет на int вообще ...!Есть идеи, почему?
Функция, вызываемая извне, все еще находится внутри класса, поэтому не должна ли она обновлять int?Я перепробовал все.