2014-05-05 98 views
-1

我有流行的「無法識別的選擇器...」問題。唯一的問題是,不管我做什麼,它永遠都不會解決。我已經經歷了所有類似的問題,但無濟於事!iOS「無法識別的選擇器發送到實例」Sprite Kit

在我的代碼中,我試圖通過「MyScene」從「ViewController」訪問函數。在-viewDidLoad期間,「ViewController」和「MyScene」之間的轉換效果很好,但事實是它似乎不能反轉。

從 「MyScene」,我調用一個函數從 「視圖控制器」:

if ([_vc respondsToSelector:@selector(eventWasted:)]) { 
    [_vc performSelector:@selector(eventWasted:) withObject:self]; 
} 

這裏是功能,即 「MyScene」 呼籲:

- (void)eventWasted:(id)sender { 
_flash = [[UIView alloc] initWithFrame:self.view.frame]; 
_flash.backgroundColor = [UIColor whiteColor]; 
_flash.alpha = .9; 
[self.view insertSubview:_flash belowSubview:self.gameOver]; 

//[self shakeFrame]; 
[UIView animateWithDuration:.6 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{ 
    self.gameOver.userInteractionEnabled = YES; 
    // Display game over 
    _flash.alpha = .4; 
    self.gameOver.alpha = 1; 
    //self.gameOver.transform = CGAffineTransformMakeScale(1, 1); 

    self.score.text = [NSString stringWithFormat:@"%li",(long)_myScene.points]; 
    [Score registerScore:_myScene.points]; 
    self.bestScore.text = [NSString stringWithFormat:@"%li",(long)[Score bestScore]]; 

} completion:^(BOOL finished) { 
    _flash.userInteractionEnabled = NO; 
}]; 

} 

提出的錯誤是

'NSInvalidArgumentException', reason: '-[UIView setShowsFPS:]: unrecognized selector sent to instance 

從「MyScene」調用函數會導致應用程序崩潰。有誰知道這個問題的解決方案?提前致謝!

+0

您應該爲您的應用程序添加一個異常斷點,並查看回溯 – Michael

+0

我知道如何添加異常斷點,但我不知道該放置在哪裏。 – ch1pa

+1

這是一個常規斷點,這是一個異常斷點:https://developer.apple.com/library/ios/recipes/xcode_help-breakpoint_navigator/articles/adding_an_exception_breakpoint.html – LearnCocos2D

回答

0

我在viewDidLoad之前設置了一個布爾值,並告訴它只在第一次運行。我在調用我的eventWasted:函數之前將布爾值設置爲NO。這阻止了ViewControllerSKView將自己與UIView混淆。

0

一個簡單的解決方法是轉到Storyboard中的ViewController視圖。從身份檢查員處,將UIView的類名更改爲SKView。 應該爲你解決它。

相關問題