我要做的就是检查按钮是否被按下。它适用于另一个视图,使用viewcontroller.swift的视图,但当我更改控制器类名称时,它停止工作。我确保更改故事板本身的类名。我已经看到其他帖子有相同的错误,但他们总是试图做一些更复杂的事情。
import UIKit
import Alamofire
import SwiftyJSON
class LoginView: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func loginPress(sender: AnyObject) {
print("text")
}
}
这是日志。
2015-07-16 09:38:18.468 mybox[44242:318055] -[mybox.LoginView LoginButton:]: unrecognized selector sent to instance 0x7ffebb032230
2015-07-16 09:38:18.479 mybox[44242:318055] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[mybox.LoginView LoginButton:]: unrecognized selector sent to instance 0x7ffebb032230'
*** First throw call stack:
(
0 CoreFoundation 0x0000000106c8fc65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001087fabb7 objc_exception_throw + 45
2 CoreFoundation 0x0000000106c970ad -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x0000000106bed13c ___forwarding___ + 988
4 CoreFoundation 0x0000000106beccd8 _CF_forwarding_prep_0 + 120
5 UIKit 0x000000010752fd62 -[UIApplication sendAction:to:from:forEvent:] + 75
6 UIKit 0x000000010764150a -[UIControl _sendActionsForEvents:withEvent:] + 467
7 UIKit 0x00000001076408d9 -[UIControl touchesEnded:withEvent:] + 522
8 UIKit 0x000000010757c958 -[UIWindow _sendTouchesForEvent:] + 735
9 UIKit 0x000000010757d282 -[UIWindow sendEvent:] + 682
10 UIKit 0x0000000107543541 -[UIApplication sendEvent:] + 246
11 UIKit 0x0000000107550cdc _UIApplicationHandleEventFromQueueEvent + 18265
12 UIKit 0x000000010752b59c _UIApplicationHandleEventQueue + 2066
13 CoreFoundation 0x0000000106bc3431 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
14 CoreFoundation 0x0000000106bb92fd __CFRunLoopDoSources0 + 269
15 CoreFoundation 0x0000000106bb8934 __CFRunLoopRun + 868
16 CoreFoundation 0x0000000106bb8366 CFRunLoopRunSpecific + 470
17 GraphicsServices 0x000000010d729a3e GSEventRunModal + 161
18 UIKit 0x000000010752e8c0 UIApplicationMain + 1282
19 mybox 0x0000000106950d87 main + 135
20 libdyld.dylib 0x0000000109ce1145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
以下是一些可能有用的屏幕截图
答案 0 :(得分:0)
将您的方法重命名为LoginButton
。
答案 1 :(得分:0)
我明白了。今天早些时候我还没有设置自定义控制器类。我更改了类,但也删除了方法而没有删除操作。当我做了一个新的动作时,之前的动作仍然与按钮绑定并导致它没有任何东西可以调用。谢谢@Justa。
答案 2 :(得分:0)
我认为您编写方法然后使用storyboard中的按钮进行设置,然后重命名您的方法名称。所以,当你点击按钮时,编译器没有在课堂上找到旧的命名方法,这就是为什么它崩溃了。
您使用按钮连接“ LoginButton ”此方法。但是该方法在类中不存在,因此在类文件中更改方法名称或从storyboard中删除方法链接,然后再次使用“ loginPress ”方法进行设置。
简而言之,请将您的方法名称替换为“ LoginButton ”
我认为我的描述会帮助你清楚你做错了什么。希望它会对你有所帮助。