繁体   English   中英

XCode iOS中的错误SIGBART

[英]Error SIGBART in XCode iOS

我有一个包含不同组件的程序,但是在编译时,每次都会收到信号SIGBART。 我的代码的主要目的是在用户移动时更改布尔值,在点击按钮时将文本设置为变量,并通过按下不同的按钮将字符串设置为可/不可。 我的代码如下:

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize mapView;
@synthesize dodont;
@synthesize reminders;

- (void)viewDidLoad
{
    [super viewDidLoad];
    mapView.showsUserLocation = YES;
    on = @"don't";
    dodont.text = on;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)mapView:(MKMapView *)mapView
didUpdateUserLocation:
(MKUserLocation *)userLocation
{
    move = TRUE;
}

- (IBAction)enable:(id)sender {
    on = @"do";
}

- (IBAction)disable:(id)sender {
    on = @"don't";
}
- (IBAction)save:(id)sender {
    content = reminders.text;
}
@end

ViewController.h

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>

NSString *on;
BOOL move= FALSE;
NSString *content;

@interface ViewController : UIViewController {
    MKMapView *mapview;
}
@property (weak, nonatomic) IBOutlet MKMapView *mapView;

- (IBAction)enable:(id)sender;

- (IBAction)disable:(id)sender;
@property (weak, nonatomic) IBOutlet UILabel *dodont;
- (IBAction)save:(id)sender;
@property (strong, nonatomic) IBOutlet UITextView *reminders;

@end

AppDelegate.m

#import "AppDelegate.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application
{
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application
{
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end

AppDelegate.h

#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@end

您是否不想放这些东西:

NSString *on;
BOOL move= FALSE;
NSString *content;

.h文件中的@interface@end之间?

并且不要忘记:每个属性的@property (nonatomic, strong) (BOOL值没有强参数)。

您的界面应如下所示:

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>

@interface ViewController : UIViewController {
    MKMapView *mapview;
}

@property (strong, nonatomic) NSString *on;
@property (nonatomic) BOOL move;
@property (strong, nonatomic) NSString *content;
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
@property (strong, nonatomic) IBOutlet UITextView *reminders;
@property (weak, nonatomic) IBOutlet UILabel *dodont;

- (IBAction)enable:(id)sender;    
- (IBAction)disable:(id)sender;
- (IBAction)save:(id)sender;

@end

在iOS / Objective-C中,应按以下方式声明变量:

@interface类别名称:超类

{

  • #在此处声明变量

}

  • 在此处设置变量的属性

  • 在这里声明方法

@结束

并且您在类声明上方声明变量。

另外,您还没有使用applicationdidFinishLaunching方法初始化应用程序的窗口。 尝试此操作,并为窗口rootviewcontroller设置要加载的视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM