【问题标题】:program received signal sigabrt in Ipad program程序在 Ipad 程序中接收到信号 sigabrt
【发布时间】:2012-01-14 18:55:56
【问题描述】:

我修复了所有警告,现在我的 AppDelegate 类中出现此类错误

.h 文件是

#import <UIKit/UIKit.h>

@interface UYLAppDelegate : UIResponder <UIApplicationDelegate>{

}

@property (retain, nonatomic) IBOutlet UIWindow *window;
@property (retain, nonatomic) IBOutlet UISplitViewController *splitViewController;

@end

.m 文件是

#import "UYLAppDelegate.h"
#import "UYLMasterViewController.h"
#import "UYLDetailViewController.h"
#import <QuartzCore/QuartzCore.h>

@implementation UYLAppDelegate

@synthesize window = _window;
@synthesize splitViewController = _splitViewController;

- (void)dealloc
{
    [_window release];
    [_splitViewController release];
    [super dealloc];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UIView *rootView = [[self.splitViewController.viewControllers objectAtIndex:0] view];
    rootView.layer.borderWidth = 1.0f;
    rootView.layer.cornerRadius =5.0f;
    rootView.layer.shadowOpacity = 0.8f;
    rootView.layer.shadowOffset = CGSizeMake(-5, 0);

    self.window.rootViewController = self.splitViewController; //error here
    [self.window makeKeyAndVisible];
    return YES;
}

@end

在这一行我犯了一个错误

self.window.rootViewController = self.splitViewController; //error here

SplitViewController 由 2 个控制器组成,.h 文件是:

#import <UIKit/UIKit.h>

@class UYLDetailViewController;

@interface UYLMasterViewController : UITableViewController

@property (retain, nonatomic) IBOutlet UYLDetailViewController *detailViewController;

@end

第二个

#import <UIKit/UIKit.h>
#import "UYLModalViewController.h"

@class UYLMasterViewController;

@interface UYLDetailViewController : UIViewController <UYLModalViewControllerDelegate>{
    UIBarButtonItem *_MessageButton;
    NSInteger modalViewShowType;
}

-(IBAction)buttonTapped:(id)sender;

@property (retain, nonatomic, getter=_MessageButton) IBOutlet UIBarButtonItem *someMessageButton;
@property (retain, nonatomic) NSNumber *detailItem;
@property (retain, nonatomic) IBOutlet UIToolbar *toolbar;
@property (retain, nonatomic) IBOutlet UILabel *detailTitle;
@property (retain, nonatomic) IBOutlet UILabel *detailDescriptionLabel;
@property (assign, nonatomic) BOOL masterIsVisible;

@end

编辑: 我在控制台中看到了所有内容

GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Mon Aug 15 16:03:10 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".sharedlibrary apply-load-rules all
Attaching to process 8217.
Pending breakpoint 1 - ""UYLDetailViewController.m":117" resolved
Pending breakpoint 2 - ""UYLModalViewController.m":30" resolved
Pending breakpoint 3 - ""UYLModalViewController.m":41" resolved
Pending breakpoint 4 - ""UYLDetailViewController.m":63" resolved
Pending breakpoint 5 - ""UYLMasterViewController.m":46" resolved
Pending breakpoint 7 - ""UYLDetailViewController.m":36" resolved
No breakpoint number 7.
Current language:  auto; currently objective-c

请帮我理解一下=(

【问题讨论】:

    标签: objective-c ios cocoa-touch ipad presentmodalviewcontroller


    【解决方案1】:

    我大部分时间都有一些SIGABRT 错误,这只是意味着它找不到您所指的那个实例。所以再看看那一行,想想哪些地方可能没有被宣布为正确的。

    我认为如果您将其更改为。 self.window.rootViewController = splitViewController;

    【讨论】:

    • 我读过它,但我检查了代码中的所有出口。 self.window.rootViewController = splitViewController;它没有帮助
    • 我发现了一个错误。发生这种情况是因为我的 XCode 有一些问题。如果我在标准编辑器和辅助编辑器中编辑同一个文件,给我不同的文件 =(。你看到这样的问题吗?
    • 尝试清理您的项目或重新启动计算机。如果这是 Xcode 的问题,那么您无能为力,但我相信问题会消失。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    相关资源
    最近更新 更多