0

刚开始在 Xcode 上的不同项目(单视图,主细节,...)我总是遇到线程 1:Signal 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
4

3 回答 3

1

问题不在于连接,而是您试图将新的视图控制器推送到导航控制器,但您的应用程序不使用导航控制器。您可以通过几种方式解决此问题。首先,如果您想要一个导航控制器,请将您的根视图放在导航控制器中,然后推送转场将起作用,或者您可以将转场的类型更改为模态或替换之类的东西。

于 2013-06-25T17:14:26.943 回答
0

确保调用了按钮的方法。如果您使用的是故事板,请检查按钮和视图的连接。还要检查两个视图之间的 segue 设置是否正确。如果问题仍然存在,请尝试逐行调试代码。希望这可能会有所帮助。

于 2013-06-25T17:12:29.680 回答
0

如果您使用故事板,您只需选择主视图并在屏幕顶​​部的 xcode 菜单栏中选择“编辑器”,然后选择“嵌入”,然后选择“导航控制器”。

这是更深入的指南..

http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/

于 2013-06-25T19:11:32.373 回答