2016-04-11 6 views
0

こんにちはGuysさんはこのエラーで初めて失われました。私はIOSとSwiftを初めて扱いましたが、1つのジェスチャーレコグナイザーをビューに使用できましたが、意志私はappDelegate.swiftでちょうどこのエラーは複数のジェスチャー認識子をAnyObjectに割り当てるときにエラーが発生する

line 1: class AppDelegate: UIResponder, UIApplicationDelegate{ //Thread 1: EXC_BAD_ACCESS (code=1,address=0x1) 

任意のヘルプファイルを取得する任意のオブジェクトのための(component.controlはANYOBJECT型を持つ)、そして私はそれを実行し、ボタンを押したとき(ANYOBJECTタイプとして渡されました)評価される!どうも!ここ

は私がdocsによるとのviewDidLoad FUNC オーバーライド(){ super.viewDidLoad()

//gestures 
    let gesture_tap = UITapGestureRecognizer(target: self, action: #selector(ComponentDetailViewController.ctrl_tapped(_:event:))); 
    let gesture_pinch = UIPinchGestureRecognizer(target: self, action: #selector(ComponentDetailViewController.ctrl_pinched(_:event:))); 
    let gesture_swipe = UISwipeGestureRecognizer(target:self, action: #selector(ComponentDetailViewController.ctrl_swiped(_:event:))); 
    let gesture_longPress = UILongPressGestureRecognizer(target: self, action: #selector(ComponentDetailViewController.ctrl_longPressed(_:event:))); 
    let gesture_rotate = UIRotationGestureRecognizer(target:self,action: #selector(ComponentDetailViewController.ctrl_rotated(_:event:))); 
    let gesture_pan = UIPanGestureRecognizer(target:self, action: #selector(ComponentDetailViewController.ctrl_panned(_:event:))); 

    let ctrl = component?.control; 

    ctrl!.addGestureRecognizer(gesture_tap); 
    ctrl!.addGestureRecognizer(gesture_pinch); 
    ctrl!.addGestureRecognizer(gesture_swipe); 
    ctrl!.addGestureRecognizer(gesture_longPress); 
    ctrl!.addGestureRecognizer(gesture_rotate); 
    ctrl!.addGestureRecognizer(gesture_pan); 

    gesture_tap.delegate = self; 
    gesture_pinch.delegate = self; 
    gesture_swipe.delegate = self; 
    gesture_longPress.delegate = self; 
    gesture_rotate.delegate = self; 
    gesture_pan.delegate = self; 


    component?.control = ctrl as? UIView; 

    //component?.control!.userInteractionEnabled = true; 
    //component?.control!.addGestureRecognizer(tap); 
    viewDisplayComponent.addSubview((component?.control)! as! UIView); 

} 


//Gesture methods 
func ctrl_tapped(ctrl: AnyObject, event:UIEvent){ 
    setMessage("TO_tapped"); 
} 
func ctrl_pinched(ctrl: AnyObject, event:UIEvent){ 
    setMessage("TO_pinchedWithArgs") 
} 
func ctrl_swiped(ctrl: AnyObject, event:UIEvent){ 
    setMessage("TO_swipedWithArgs"); 
} 
func ctrl_longPressed(ctrl: AnyObject, event:UIEvent){ 
    setMessage("TO_longPressedWithArgs"); 
} 
func ctrl_rotated(ctrl: AnyObject, event:UIEvent){ 
    //logTextView.text += "Rotated"; 
} 
func ctrl_panned(ctrl: AnyObject, event:UIEvent){ 
    setMessage("TO_pannedWithArgs"); 
} 

答えて

1

を持っているものです。

呼び出されるアクションメソッドのいずれかに適合しなければなりません 署名の後:

  • (void) handleGesture;
  • (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer;
    スウィフト翻訳:
    handleGesture(gestureRecognizer:UIGestureRecognizer)しかし

、すべてのアクションメソッドは二つの引数で署名を持っています。ジェスチャー認識機能を動作させる方法が不明です。

行1:

iはappDelegate.swiftファイルにちょうどこのエラーを取得するクラスAppDelegate:UIResponder、UIApplicationDelegate { //スレッド1:EXC_BAD_ACCESS(コード= 1、アドレス= 0x1の)

のXcodeのデバッグ領域での出力の上部について、すなわち印刷()ステートメントは、出力は何をしていますか?

関連する問題