2016-06-29 10 views
1

Dies ist der Code, den ich versucht habe, auf Xcode zu laufen und die Idee ist, wenn ich den Knopf drücke, wird es den Hintergrund und das Logo zeigen, aber wenn ich den Knopf drücke, führt es mich einfach gerade in den Fehlerunerkannter Selektor an Instanz 0x7fc4e9544fc0 gesendet

import UIKit 

class ViewController: UIViewController { 

@IBOutlet weak var coolLogo: UIImageView! 

@IBOutlet weak var coolBg: UIImageView! 

@IBOutlet weak var uncoolButton: UIButton! 

override func viewDidLoad() { 
    super.viewDidLoad() 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
} 


@IBAction func makeMeNotSoUncoolButton(sender: AnyObject) { 
    coolLogo.hidden = false 
    coolBg.hidden = false 
    uncoolButton.hidden = true 
    print ("Its running") 
} 

} 

Dies ist der Fehler, den ich bekam

2016-06-29 10:19:01.229 SuperCool[1950:40240] - 

[SuperCool.ViewController uncoolButton:]: unrecognized selector sent to instance 0x7fc4e9544fc0 
2016-06-29 10:19:01.238 SuperCool[1950:40240] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SuperCool.ViewController uncoolButton:]: unrecognized selector sent to instance 0x7fc4e9544fc0' 
*** First throw call stack: 
(
    0 CoreFoundation      0x000000010f617d85 __exceptionPreprocess + 165 
    1 libobjc.A.dylib      0x00000001113bbdeb objc_exception_throw + 48 
    2 CoreFoundation      0x000000010f620d3d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205 
    3 CoreFoundation      0x000000010f566cfa ___forwarding___ + 970 
    4 CoreFoundation      0x000000010f5668a8 _CF_forwarding_prep_0 + 120 
    5 UIKit        0x000000010fe41a8d -[UIApplication sendAction:to:from:forEvent:] + 92 
    6 UIKit        0x000000010ffb4e67 -[UIControl sendAction:to:forEvent:] + 67 
    7 UIKit        0x000000010ffb5143 -[UIControl _sendActionsForEvents:withEvent:] + 327 
    8 UIKit        0x000000010ffb4263 -[UIControl touchesEnded:withEvent:] + 601 
    9 UIKit        0x000000010feb499f -[UIWindow _sendTouchesForEvent:] + 835 
    10 UIKit        0x000000010feb56d4 -[UIWindow sendEvent:] + 865 
    11 UIKit        0x000000010fe60dc6 -[UIApplication sendEvent:] + 263 
    12 UIKit        0x000000010fe3a553 _UIApplicationHandleEventQueue + 6660 
    13 CoreFoundation      0x000000010f53d301 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
    14 CoreFoundation      0x000000010f53322c __CFRunLoopDoSources0 + 556 
    15 CoreFoundation      0x000000010f5326e3 __CFRunLoopRun + 867 
    16 CoreFoundation      0x000000010f5320f8 CFRunLoopRunSpecific + 488 
    17 GraphicsServices     0x0000000113cadad2 GSEventRunModal + 161 
    18 UIKit        0x000000010fe3ff09 UIApplicationMain + 171 
    19 SuperCool       0x000000010f432422 main + 114 
    20 libdyld.dylib      0x0000000111e7f92d start + 1 
    21 ???         0x0000000000000001 0x0 + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 

Antwort

3

Sieht aus wie Sie entweder die uncoolButton Steckdose oder th verbunden e makeMeNotSoUncoolButton Aktion falsch.

+0

Wie zu beheben: versuchen, die Taste wieder an die Steckdose/Aktion – penatheboss

+0

Problem gelöst! Ich habe versucht, die Steckdose und die Aktion zu löschen, es hat immer noch das gleiche Problem. Ich schätze, irgendwie hätte ich es falsch verbunden und es ist woanders gespeichert. Also was ich getan habe, war ich ein neues Projekt neu erstellen und sorgfältig den richtigen Typ zuweisen, und es funktioniert! Ich danke dir sehr! –

2

Platzieren Sie einfach brackepoint in dieser Methode und überprüfen Sie Ihre self Klasse und Klasse Ihres Knopfes, als Sie wissen, was nicht wie erwartet ist. Sie können die Klasse mithilfe der Methode class überprüfen, die die Instanz Ihrer Klasse zurückgibt, anstatt sie nur zum Protokollieren auszugeben.

+0

Ich wette, es ruft diese Funktion nie auf. –

+0

Haben Sie den brainpoint auf seinen Anfang gesetzt? – Volodymyr

+0

Nein - ich bin nicht der Autor - ich denke nur, dass es falsch angeschlossen ist und niemals angerufen wird. Wenn der Autor dort einen Haltepunkt setzt und es tatsächlich trifft, würde ich die Ausgänge erneut überprüfen. –

Verwandte Themen