我在同一个文件中有一个带有CustomCell类定义的TableViewController。在Interface Builder中,我有一个单元格,其中包含用于上传图片的按钮。现在,按钮的动作在TableViewController的类中。
当我按下按钮时,我收到错误:
[ProfileViewController uploadProfilePicture:]: unrecognized selector sent to instance
我的猜测是按钮的功能在ViewController中而不是Cell中处理,但是当我在CustomCell中尝试这样做时,它变得非常令人头疼(委托/协议的东西)一个小壮举。
有谁知道减轻这种情况的最佳方法?
以下是参考函数:
@IBAction func uploadPicture(sender: UIButton) {
picker?.delegate = self
var alert:UIAlertController=UIAlertController(title: "Choose Image", message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)
var cameraAction = UIAlertAction(title: "Camera", style: UIAlertActionStyle.Default)
{
UIAlertAction in
self.openCamera()
}
var galleryAction = UIAlertAction(title: "Gallery", style: UIAlertActionStyle.Default)
{
UIAlertAction in
self.openGallery()
}
var cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel)
{
UIAlertAction in
}
// Add the actions
alert.addAction(cameraAction)
alert.addAction(galleryAction)
alert.addAction(cancelAction)
// Present the actionsheet
if UIDevice.currentDevice().userInterfaceIdiom == .Phone
{
self.presentViewController(alert, animated: true, completion: nil)
}
else
{
popover=UIPopoverController(contentViewController: alert)
popover!.presentPopoverFromBarButtonItem(self.saveButton, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true)
}
}
答案 0 :(得分:1)
当您收到错误时,它所说的方法名称不存在uploadProfilePicture
。但是,您的代码会显示名为uploadPicture
的方法。
答案 1 :(得分:0)
问题在于uploadPicture
和uploadProfilePicture
的名称不同。