2016-04-11 15 views
0

Merhaba Guys im şu anda bu hatada kaybetti, ilk kez IOS ve Swift ile uğraşırken ve bir görüş için 1 tane jest tanıyıcı kullanabilmem mümkün olmasına rağmen, birden çokları ayarlamaya ihtiyacım var will i appDelegate.swift sadece bu hataAnyObject'e Çoklu Hareket Tanıyıcılar Atanırken Hata Oluştu

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

herhangi bir yardım dosyası olsun herhangi bir nesne için (component.control bir AnyObject türü olan) ve bunu çalıştırmak ve düğmesine bastığınız zaman (bir AnyObject türü olarak geçti) apreciated olmak! Teşekkürler! docs göre burada

i viewDidLoad() fonk kılma ne var { 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"); 
} 

cevap

1

:

çağrılan eylem yöntemleri birine uygun olmalıdır

  • (boşluk): imzalar aşağıdaki handleGesture;
  • (void) handleGesture: (UIGestureRecognizer *) gestureRecognizer;
    Swift çeviri:
    handleGesture (gestureRecognizer: UIGestureRecognizer)

Ancak tüm eylem yöntemleri iki argümanlarla imzaları var. Çalışmak için bir jest tanıyıcı nasıl elde edeceğinizden emin değilim.

hat 1:

i appDelegate.swift dosyasında sadece bu hatayı alıyorum sınıf AppDelegate: UIResponder, UIApplicationDelegate { // Konu 1: EXC_BAD_ACCESS (kod = 1, adres = 0x1)

hangi baskı() ifadeleri çıkış vardır yani XCode en ayıklama alanında çıkış üst olacak?