我有一个包含不同组件的程序,但是当我编译时,我每次都会得到信号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
答案 0 :(得分:0)
你不想放这些东西:
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
答案 1 :(得分:0)
在iOS / Objective-C中,变量应按以下方式声明:
@interface Classname:SuperClass
{
}
@end
并且您正在声明类声明之上的变量。
此外,您还没有在applicationdidFinishLaunching方法中初始化应用程序的窗口。尝试这个并将窗口rootviewcontroller设置为您要加载的视图。