'Receiver(<viewcontroller>)没有带标识符'addSegue'</viewcontroller>的segue

时间:2013-12-21 04:37:05

标签: ios objective-c iphone swift uistoryboardsegue

我有一个导航控制器,它们之间有一个名为“addSegue”的segue链接。当我点击tableView单元格时应用程序崩溃,我收到以下错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<MSAddFriendsViewController: 0x98cc340>) has no segue with identifier 'addSegue'

我认为我的代码没有任何问题。这是我有一行showSegueWithIdentifier

的方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSMutableSet *selectedUsers = [NSMutableSet set];

[self.tableView deselectRowAtIndexPath:indexPath animated:NO];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];


cell.accessoryType = UITableViewCellAccessoryCheckmark;
PFRelation *friendsRelation = [self.currentUser relationforKey:@"friendsRelation"];
PFUser *user = [self.allUsers objectAtIndex:indexPath.row];
[friendsRelation addObject:user];
[self.currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if (error) {
        NSLog(@"Error %@ %@", error, [error userInfo]);

    }    }];

[self performSegueWithIdentifier:@"addSegue" sender:self];

}

Here is a picture of my storyboard

Here is an updated picture of my storyboard

4 个答案:

答案 0 :(得分:16)

我有同样的问题,实际上我的问题是我正在打电话

WRONG: [self.navigationController performSegueWithIdentifier:@"ShowVerify" sender:self];

而不是

CORRECT: [self performSegueWithIdentifier:@"ShowVerify" sender:self];

因此请检查您是否正在调用performSegueWithIdentifier方法:)

答案 1 :(得分:11)

enter image description here

use segue identifier in Push Method and give the proper connection

如果您使用Identifier,请在需要

的地方拨打此行
[self performSegueWithIdentifier:@"identifierName" sender:self];

Swift 2.X

self.performSegueWithIdentifier("identifierName", sender: self)

Swift 3

self.performSegue(withIdentifier: "identifierName", sender: self)

关于新屏幕,你已经添加了这种方式。在那个屏幕上,当你完成并想要删除它时,它只是:

self.dismiss(animated: false, completion: nil)

答案 2 :(得分:6)

很难肯定地说,但是其他一些人也有类似的问题:

  • this question中,提问者实例化故事板 init代替instantiateViewControllerWithIdentifier所以{。}} segue没有正确设置。

  • this question中,这只是奇怪的事情 内部使用xcode和模拟器,并运行Product-&gt; Clean 帮助

  • 当然,代码中的segue名称可能与Storybord上的segue名称不匹配,但我猜你已经检查过很多次了!

    < / LI>

答案 3 :(得分:0)

检查头文件中是否存在UIKIT。我在不知不觉中使新VC成为View Controller的子类。