このような質問には多くの回答がありましたが、どれも私にとってはうまくいきませんでした。基本的に、ラベルとボタンを持つ非常に単純な iOS アプリを作成しました。ボタンをクリックすると、ラベルが変わります。ここにコードがあります
//ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
- (IBAction)buttonPressed:(id)sender;
@property (strong, nonatomic) IBOutlet UILabel *predictionLabel;
@end
//
// ViewController.m
// CrystalBall
//
//
//
#import "ViewController.h"
@implementation ViewController
@synthesize predictionLabel;
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[self setPredictionLabel:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (IBAction)buttonPressed:(id)sender {
self.predictionLabel.text = @"Definitley Yes!";
}
@end
そして、シミュレーターで実行すると、アプリが正常に開き、「予測」ボタンをクリックするとフリーズし、これが緑色で表示されるエラーです
Thread 1: Program recieved signal: "SIGABRT".
それは次の行に沿っています
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
デバッガーは次のように述べています: 2013-01-19 22:53:30.511 CrystalBall[441:f803] *キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。スローコールスタック:
2013-01-19 22:53:30.511 CrystalBall[441:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setText:]: unrecognized selector sent to instance 0x6a19c70'
*** First throw call stack:
(0x13b9052 0x154ad0a 0x13baced 0x131ff00 0x131fce2 0x2385 0x13baec9 0x135c2 0x1355a 0xb8b76 0xb903f 0xb82fe 0x38a30 0x38c56 0x1f384 0x12aa9 0x12a3fa9 0x138d1c5 0x12f2022 0x12f090a 0x12efdb4 0x12efccb 0x12a2879 0x12a293e 0x10a9b 0x1da8 0x1d05)
terminate called throwing an exception(gdb)
うまくいけば、それで十分な情報です。ありがとうございました!