Ios 将按钮的目标方法设置为另一个类中的函数
我有一个从facebook获取照片信息的功能。我试图通过将它添加到另一个类并将button的目标函数设置为该类函数来抽象它 所以我有一个单身班Ios 将按钮的目标方法设置为另一个类中的函数,ios,swift,Ios,Swift,我有一个从facebook获取照片信息的功能。我试图通过将它添加到另一个类并将button的目标函数设置为该类函数来抽象它 所以我有一个单身班 class FacebookManager { static let sharedInstance = FacebookManager() func getAlbums() { var request: FBSDKGraphRequest = FBSDKGraphRequest.init(graphPath: "/\(facebookID
class FacebookManager {
static let sharedInstance = FacebookManager()
func getAlbums() {
var request: FBSDKGraphRequest = FBSDKGraphRequest.init(graphPath: "/\(facebookID!)/albums", parameters: ["fields": "cover_photo, name, description"])
request.startWithCompletionHandler({ (connection, result, error) -> Void in
// do stuff
})
}
以及viewcontroller中用于调用该函数的按钮的方法
dummyButton?.addTarget(FacebookManager.self, action: Selector("getAlbums"), forControlEvents: .TouchUpInside)
但点击按钮后,我得到一个错误
2016-08-17 00:12:21.599 Lovrr[11807:3832289]***NSForwarding:警告:类“app.FacebookManager”的对象0x10717c888未实现方法签名选择器:-前方有故障
无法识别的选择器+[app.FacebookManager getAlbums]
在stackoverflow的某个主题中,我看到了在FacebookManager中子类化NSObject
的建议。这样做之后,我又犯了一个错误
[app.FacebookManager getAlbums]:发送到类0x1047026f0的无法识别的选择器
2016-08-17 00:13:49.469应用程序[11892:3834005]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[app.FacebookManager getAlbums]:未识别的选择器发送到类0x1047026f0”
如何正确地做我想做的事?你的目标是错误的:
dummyButton?.addTarget(FacebookManager.self, action: Selector("getAlbums"), forControlEvents: .TouchUpInside)
FacebookManager.self
表示静态级别getAlbums
是一种类方法。=>
无法识别的选择器
修复为:
dummyButton?.addTarget(FacebookManager.sharedInstance, action: Selector("getAlbums"), forControlEvents: .TouchUpInside)
你的目标是错误的:
dummyButton?.addTarget(FacebookManager.self, action: Selector("getAlbums"), forControlEvents: .TouchUpInside)
FacebookManager.self
表示静态级别getAlbums
是一种类方法。=>
无法识别的选择器
修复为:
dummyButton?.addTarget(FacebookManager.sharedInstance, action: Selector("getAlbums"), forControlEvents: .TouchUpInside)
我有一个类似的问题,但是,这个解决方案不适用于我有一个类似的问题,但是,这个解决方案不适用于我