我是目标C和swift的新手,并选择了swift路线。我试图将这个目标C示例转换为swift,但我失败了。
有人能告诉我哪里出了问题吗?
//obj-c
- (void)didTapButton {
[[Digits sharedInstance] authenticateWithCompletion:^
(DGTSession* session, NSError *error) {
if (session) {
// Inspect session/error objects
}
//swift
@IBAction func loginTouched(sender: AnyObject) {
var dg = Digits.sharedInstance()
dg.authenticateWithCompletion { (session: DGTSession!, error: NSError!) in
//code
}
}
我做了一件完全错误的事情,如果有任何帮助,我将不胜感激。这是错误。
2014-10-28 00:29:11.754 testign[49947:1809207] -[testign.ViewController loginTouched]: unrecognized selector sent to instance 0x7fba9a542190
2014-10-28 00:29:11.757 testign[49947:1809207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[testign.ViewController loginTouched]: unrecognized selector sent to instance 0x7fba9a542190'
尝试这个
@IBAction func loginTouched(sender: AnyObject) {
var dg = Digits.sharedInstance()
dg.authenticateWithCompletion({ (session: DGTSession!, error: NSError!) -> Void in
//code
})
}
import UIKit
import TwitterKit
class ViewController: UIViewController {
var dg = Digits.sharedInstance()
override func viewDidLoad() {
super.viewDidLoad()
}
//login to digits.
@IBAction func loginTouched(sender: AnyObject) {
dg.authenticateWithCompletion { (session: DGTSession!, error: NSError!) in
if session != nil {
println("Logged in with session:" + session.authToken)
} else {
println("Session object is nil")
}
}
}
//logout of digits.
@IBAction func logoutTouched(sender: AnyObject) {
dg.logOut()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}