这个问题可能看起来有点奇怪,但我无法理解为什么会发生这种情况.
我做的是我重命名了一个自定义segue类,并在"自定义类"下的故事板中反映出来,但它仍然试图调用旧的类.
我已经清理了构建文件夹并在项目中搜索了旧的自定义类名,并且至少在xcode中找不到任何内容.我查看故事板文件,它也不存在.
即使我删除自定义segue所有我得到:
'Could not find a segue class named 'xxxxxxxxx''
Run Code Online (Sandbox Code Playgroud)
事情是我无法理解上面的'xxxxxxxxx',它不在故事板文件或代码中.
[[[self view] viewWithTag:1] resignFirstResponder];
Run Code Online (Sandbox Code Playgroud)
当我调试这是它去线程杀死显示错误的地方.我删除了文本字段中的所有插座,事件和segue.我没有自定义segue使用'xxxxxxxxx'作为任何地方的类.
我还能做些什么来更彻底地清理项目吗?从哪里开始?
我有一个导航控制器,它们之间有一个名为"addSegue"的segue链接.当我点击tableView单元格虽然应用程序崩溃,我得到以下错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<MSAddFriendsViewController: 0x98cc340>) has no segue with identifier 'addSegue'
Run Code Online (Sandbox Code Playgroud)
我认为我的代码没有任何问题.这是我有这条线的方法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];
}
Run Code Online (Sandbox Code Playgroud)
在Xcode 7 GM中,我在故事板中收到了上述警告.这是什么意思?
我确实有一些自定义segues,他们将类分配给转换管理器(UIStoryboardSegue).我在故事板中检查了所有segue,并且所有自定义segues都有自定义类,并且所有非自定义segue都没有分配自定义类(包括展开segues).
有任何想法吗?
我现在开始使用Xcode for 4.2 for iOS5,并且有一些变化,我现在正在解决一个我无法找到解决方法的问题.
我正在用UITablwView做一个例子,它以2个部分编程填充,第1部分只有1行,第2部分有3行.
我的目标是从表中选择一行,并根据该行,用户将被重定向到不同的视图.
例如:选择第0行第0行,app推送查看1 - 名称设置//选择第1行第0行,app推送查看3 - 地址设置
旧方式,这很简单,只需要用initWithNibName初始化一个UIViewController,然后推送视图.
现在随着storyBoard一切都发生了变化,或者至少我认为它发生了变化,因为我无法看到如何获得相同的结果,因为我无法将tableView中的多个segue设置为不同的UIViewControllers ...并且做旧的时尚方式我无法看到我可以从storyBoard上的视图中获取NIB名称以初始化UIViewController来推送.
有没有人知道如何得到这个结果?
我和佩德罗在这里有同样的问题,但对答案不满意,因为已经有了奖励和奖励,我创造了这个问题,我会尽快添加赏金.
我想在代码中创建或操作segue(以黄色突出显示),以便主视图是MFMasterViewController(以红色突出显示)的多个子类中的任何一个.
做这个时使用笔尖我可以创建一个笔尖,
SharedNib.xib和设置类的MFMasterViewController,然后创建我的子类,比方说MFMasterViewControllerSubclassA,MFMasterViewControllerSubclassB等和然后实例化我想要使用哪个子...Run Code Online (Sandbox Code Playgroud)MFMasterViewControllerSubclassA *controller = [[MFMasterViewControllerSubclassA alloc] initWithNibName:@"SharedNib" bundle:nil];要么...
Run Code Online (Sandbox Code Playgroud)MFMasterViewControllerSubclassB *controller = [[MFMasterViewControllerSubclassB alloc] initWithNibName:@"SharedNib" bundle:nil];等等
关于如何使用故事板来解决这个问题的任何线索?
我不能在Pedro的问题上使用提供的答案,我的子类扩展超出了数据源和委托.
我一直在网上搜索Stack Overflow几个小时,我无法解决这个问题.这里希望你们都看到我的错误,因为我找不到它.
我刚开始有一个简单的基于故事板的应用程序.最初的ViewController是UITabBarController的一个实例,它带有来自模板的两个虚拟ViewControllers.启动时,我需要检查设备是否已登录到外部服务.如果没有,我将显示一个允许用户进行身份验证的模态ViewController,如果设备已经过身份验证,那么我将只显示FirstViewController.
以下步骤是自创建项目以来我所做的一切:
viewDidLoadUITabBarController子类中手动调用segue当我运行应用程序时,模态segue不会触发,显示UITabBarController的第一个ViewController,我在XCode中得到以下输出:
Warning: Attempt to present <AuthenticateViewController: 0x83c0c10> on <EPTabBarController: 0x83be600> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)
下面的相关代码,实际上是我到目前为止添加的唯一代码.如果截图或其他信息有用,请告诉我.在此先感谢您的帮助.
EPTabBarController,UITabBarController的子类:
#import "EPTabBarController.h"
#import "AuthenticateViewController.h"
@interface EPTabBarController ()
@end
@implementation EPTabBarController
- (void)viewDidLoad
{
[super viewDidLoad];
[self performSegueWithIdentifier:@"authenticationSegue" sender:self];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Storyboard第一次为iPad做项目,我想知道我的方法是否是正确的方法.
此示例中的第一个ViewController实际上是一个拆分视图控制器.
当用户点击导出功能按钮时,目前在iPad应用程序中我有条件地根据一些代码/检查请求segue我正在运行
[self performSegueWithIdentifier:@"subscribe" sender:self];
[self performSegueWithIdentifier:@"filterOptions" sender:self];
[self performSegueWithIdentifier:@"showExportedDoc" sender:self];
Run Code Online (Sandbox Code Playgroud)
但是我不确定我是否应该有3个导航控制器,当用户点击订阅视图控制器中的购买按钮时,它会推送到实际嵌套在另一个导航控制器中的过滤器选项视图.
关于这方面的任何帮助/建议都会很棒,因为我提到我只是不确定我是否遵循最佳方法.
谢谢

我刚刚安装了XCode6 Beta-7,现在我的一个PrepareForSegue方法看到了一个访问异常 - (当Modal Segue即将解除时调用)
有问题的代码如下所示:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "MY_IDENTIFIER") { //EXC_BAD_ACCESS (code=1, address=0x0)
//Never gets here...
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试将segue参数设置为可选,但就Swift而言,segue不是零,所以即使使用如下的检查,我也有同样的失败......
override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject!) {
if (segue != nil)
if (segue!.identifier == "MY_IDENTIFIER") { //EXC_BAD_ACCESS (code=1, address=0x0)
//Never gets here...
}
}
}
Run Code Online (Sandbox Code Playgroud)
应用程序中的所有其他segue似乎工作正常,但这一个是失败的 - 并且它似乎仅在发布展开的情况下发生.还有其他人遇到过吗?
编辑/解决方法
一个简单的解决方法是避免使用unwindSegue方法并简单地调用dismissViewControllerAnimated,但我仍然想知道为什么unwindSegue方法在这个实例中失败...
非常感谢!
我在" 使用标识符执行segue "和" 为segue做准备 " 之间非常混淆......这些功能的作用以及它们如何工作?
在iOS 8.4,模拟器和手机中,我的performSegue调用没有遇到任何问题,但是当在Xcode 7 beta 5上使用模拟器时,当执行performSegue调用时,它会崩溃.调用堆栈如下.
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM insertObject:atIndex:]: index 3 beyond bounds [0 .. 1]'
*** First throw call stack:
(
0 CoreFoundation 0x00000001137509b5 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001131c8deb objc_exception_throw + 48
2 CoreFoundation 0x00000001136179d5 -[__NSArrayM insertObject:atIndex:] + 901
3 Foundation 0x0000000110c42aa1 -[NSKeyValueSlowMutableArray insertObject:atIndex:] + 106
4 CoreFoundation 0x000000011366beb2 -[NSMutableArray insertObjects:count:atIndex:] + 162
5 CoreFoundation 0x000000011366bc1f -[NSMutableArray insertObjectsFromArray:range:atIndex:] + 335
6 CoreFoundation 0x000000011366baa3 -[NSMutableArray addObjectsFromArray:] + 723
7 UIKit 0x00000001119ef467 …Run Code Online (Sandbox Code Playgroud) ios ×9
uistoryboard ×5
swift ×3
xcode ×3
ios5 ×2
ios9 ×2
objective-c ×2
segue ×2
cocoa-touch ×1
ios6 ×1
iphone ×1
xcode6-beta7 ×1
xcode7-beta5 ×1