线程1:程序接收信号“SIGABRT”iOS

时间:2012-03-12 23:43:42

标签: ios

我一直在努力研究这个(承认的简单)应用程序。它是一个标签式应用程序,但由于某些原因,当我点击其他标签时它会崩溃。

日志中没有崩溃异常或原因,所有显示的内容都是线程1:程序接收信号“SIGARBT”。

我开始使用Interface Builder但是厌倦了它并删除了文件并使用了loadView,但是尽管清理了项目,我仍然得到了错误。 FirstViewController使用完全相同的代码并且工作正常。

#import "SecondViewController.h"

@implementation SecondViewController

-(void)loadView
{
    [self setView:[[UIView alloc] initWithFrame:[[UIScreen mainScreen]    applicationFrame]]];
    [[self view] setBackgroundColor:[UIColor blackColor]];

 textField = [UITextField alloc];
[textField setEnablesReturnKeyAutomatically:YES];
[textField setKeyboardType:UIKeyboardTypeDefault];
[textField setSpellCheckingType:UITextSpellCheckingTypeNo];
[textField setFrame:CGRectMake(20, 30, 280, 40)];
[[self view] addSubview:textField];

setContextButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[setContextButton setTitle:@"Set" forState:UIControlStateNormal];
[setContextButton setFrame:CGRectMake(80, 30, 60, 40)];
[[self view] addSubview:setContextButton];
}

1 个答案:

答案 0 :(得分:0)

我认为第textField = [UITextField alloc];行不完整。您需要在alloc'd textField上调用 init 方法之一。

假设您的SecondViewController.h已定义UITextField *textField,请尝试:

textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 30, 280, 40)];

如果您没有定义textField (可能会导致其他问题,具体取决于代码的其余部分),请尝试:

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 30, 280, 40)];