Felipe Junges
Felipe Junges

Reputation: 180

Receiver has no segue with identifier in self.performSegue(withIdentifier, sender)

I'm getting this follow message when I try open a table item in my 'add' form to update it.

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver () has no segue with identifier 'verBeneficioSegue''

Github with project: https://github.com/felipeejunges/MyBenefits

Segue: enter image description here

My code: enter image description here

When I was debbuging I got error in line 58.

P.S. I'm doing a project exercise for my post-degree in iOS. I try to clean up project, restart Xcode, restart my Mac, but nothing worked.

Upvotes: 3

Views: 1875

Answers (2)

Shehata Gamal
Shehata Gamal

Reputation: 100523

From the crash the segue is inside vc named ListarBeneficiosTableViewController

ListarBeneficiosTableViewController: 0x7fbf6d510340>) has no segue with identifier 'verBeneficioSegue'

and your vc shown in picture is named MyBeneficio ( it's a UITaBarController ) which isn't the same hence the crash

If your purpose is to add another tab to the tabs controller you should drag the segue from the tab to the listoVC and select viewControllers from the popup

Otherwise the segue origin should be ListarBeneficiosTableViewController and it's destination is another vc

Upvotes: 1

matt
matt

Reputation: 535306

You are saying

self.performSegue(withIdentifier: "verBeneficio", sender: beneficio)

in your ListarBeneficiosTableViewController class. This implies that your ListarBeneficiosTableViewController instance is loaded from the storyboard and in the storyboard it has a segue called "verBeneficio".

Okay, so let's look in the storyboard. When we do, we see that the "verBeneficio" segue does not come from the ListarBeneficiosTableViewController. It comes from the tab view controller.

Upvotes: 0

Related Questions