刚开始使用Xcode上的不同项目时(单视图,主视图,...) 我总是遇到线程1:信号sigabrt警告,它停止了我的iOS模拟器。
对于此模拟,我从单个视图项目开始,其中一个按钮链接到另一个视图。没有什么复杂的,即使我是iOS开发世界的新手。
感谢您的帮助
Thread backtrace :
2013-06-25 18:54:39.356 App4[1313:11303] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'Push segues can only be used when the source controller is managed by an instance of UINavigationController.'
*** First throw call stack:
(0x1c90012 0x10cde7e 0x467f31 0x459b99 0x459c14 0x10e1705 0x152c0 0x15258 0xd6021 0xd657f 0xd56e8 0x44cef 0x44f02 0x22d4a 0x14698 0x1bebdf9 0x1bebad0 0x1c05bf5 0x1c05962 0x1c36bb6 0x1c35f44 0x1c35e1b 0x1bea7e3 0x1bea668 0x11ffc 0x1fad 0x1ed5 0x1)
libc++abi.dylib: terminate called throwing an exception
#import <UIKit/UIKit.h>
@interface CalViewController : UIViewController
@end
#import <UIKit/UIKit.h>
@interface CalAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
#import "CalViewController.h"
@interface CalViewController ()
@end
@implementation CalViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
答案 0 :(得分:1)
问题不在于连接,而在于您尝试将新的视图控制器推送到导航控制器,但您的应用程序不使用导航控制器。您可以通过几种方式解决此问题。首先,如果你想要一个导航控制器,把你的根视图放在导航控制器里面,然后推送segue就可以了,或者你可以把segue的类型改为模态或替换。
答案 1 :(得分:0)
确保调用按钮的方法。如果您使用的是故事板,请检查按钮和视图的连接。还要检查您的segue是否在两个视图之间正确设置。如果问题仍然存在,请尝试逐行调试代码。希望这可能会有所帮助。
答案 2 :(得分:0)
如果您正在使用故事板,则只需选择主视图并在屏幕顶部的xcode菜单栏中选择“编辑器”,然后选择“嵌入”,然后选择“导航控制器”。
这是一份更深入的指南..
http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/