2013-11-20 4 views
0

Получено это сообщение об ошибке в основной функции. Являюсь новым для отладки такого рода ошибок в Xcode 5, так что оцените ваши предложения о том, как подойти к такой ошибке.Тема 1: сигнал Ошибка SIGABRT в главном

Заранее спасибо.

Вот код:

Главная:

#import <UIKit/UIKit.h> 

#import "BullsEyeAppDelegate.h" 

int main(int argc, char * argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([BullsEyeAppDelegate class])); //Thread 1: signal SIGABRT 
    } 
} 

BullsEyeViewController.h

#import <UIKit/UIKit.h> 

@interface BullsEyeViewController : UIViewController 

@property (nonatomic, weak) IBOutlet UISlider *slider; 
@property (nonatomic, weak) IBOutlet UILabel *targetLabel; 
@property (nonatomic, weak) IBOutlet UILabel *scoreLabel; 
@property (nonatomic, weak) IBOutlet UILabel *roundLabel; 

-(IBAction)showAlert; 
-(IBAction)sliderMoved:(UISlider *)slider; 



@end 

BullsEyeViewController.m

#import "BullsEyeViewController.h" 

@interface BullsEyeViewController() 

@end 

@implementation BullsEyeViewController 
{ 
    int _currentValue; 
    int _targetValue; 
    int _score; 
    int _round; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    [self startNewRound]; 
    [self updateLabels]; 
} 

-(void)startNewRound 
{ 
    _targetValue = 1 + arc4random_uniform(100); 
    _currentValue = 50; 
    self.slider.value = _currentValue; 
    [self updateLabels]; 
} 

-(void)updateLabels 
{ 
    self.targetLabel.text = [NSString stringWithFormat:@"%d", _targetValue]; 
    // Convert the int into a string so that it will fit in the label as an outlet 
    self.scoreLabel.text = [NSString stringWithFormat:@"%d", _score]; 
    self.roundLabel.text = [NSString stringWithFormat:@"%d", _round]; 

} 

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

-(IBAction)showAlert 
{ 
    int difference = abs(_currentValue - _targetValue); 
    int points = 100 - difference; 
    _score += points; 

    NSString *message = [NSString stringWithFormat:@"You scored %d points", points]; 

    UIAlertView *alertView = [[UIAlertView alloc] 
    initWithTitle:@"Hello World" 
      message:message 
     delegate:nil 
cancelButtonTitle:@"OK" 
otherButtonTitles: nil]; 

    [alertView show]; 

    [self startNewRound]; 
    [self updateLabels]; 
} 

-(IBAction)sliderMoved:(UISlider *)slider 
{ 
    _currentValue = lroundf(slider.value); 
} 

@end 

Трассировка Ошибка:

2013-11-19 19:59:12.299 BullsEye[13764:70b] -[UILabel intValue]: unrecognized selector sent to instance 0x8a7ef20 
2013-11-19 19:59:12.351 BullsEye[13764:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UILabel intValue]: unrecognized selector sent to instance 0x8a7ef20' 
*** First throw call stack: 
(
    0 CoreFoundation      0x0173a5e4 __exceptionPreprocess + 180 
    1 libobjc.A.dylib      0x014bd8b6 objc_exception_throw + 44 
    2 CoreFoundation      0x017d7903 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275 
    3 CoreFoundation      0x0172a90b ___forwarding___ + 1019 
    4 CoreFoundation      0x0172a4ee _CF_forwarding_prep_0 + 14 
    5 Foundation       0x0117d737 _NSSetIntValueForKeyInIvar + 46 
    6 Foundation       0x010eada3 _NSSetUsingKeyValueSetter + 256 
    7 Foundation       0x010ea253 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 267 
    8 Foundation       0x0114c70a -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 412 
    9 UIKit        0x004cda15 -[UIRuntimeOutletConnection connect] + 106 
    10 libobjc.A.dylib      0x014cf7d2 -[NSObject performSelector:] + 62 
    11 CoreFoundation      0x01735b6a -[NSArray makeObjectsPerformSelector:] + 314 
    12 UIKit        0x004cc56e -[UINib instantiateWithOwner:options:] + 1417 
    13 UIKit        0x0033e605 -[UIViewController _loadViewFromNibNamed:bundle:] + 280 
    14 UIKit        0x0033edad -[UIViewController loadView] + 302 
    15 UIKit        0x0033f0ae -[UIViewController loadViewIfRequired] + 78 
    16 UIKit        0x0033f5b4 -[UIViewController view] + 35 
    17 UIKit        0x002679fd -[UIWindow addRootViewControllerViewIfPossible] + 66 
    18 UIKit        0x00267d97 -[UIWindow _setHidden:forced:] + 312 
    19 UIKit        0x0026802d -[UIWindow _orderFrontWithoutMakingKey] + 49 
    20 UIKit        0x0027289a -[UIWindow makeKeyAndVisible] + 65 
    21 UIKit        0x00225cd0 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1851 
    22 UIKit        0x0022a3a8 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 824 
    23 UIKit        0x0023e87c -[UIApplication handleEvent:withNewEvent:] + 3447 
    24 UIKit        0x0023ede9 -[UIApplication sendEvent:] + 85 
    25 UIKit        0x0022c025 _UIApplicationHandleEvent + 736 
    26 GraphicsServices     0x036e12f6 _PurpleEventCallback + 776 
    27 GraphicsServices     0x036e0e01 PurpleEventCallback + 46 
    28 CoreFoundation      0x016b5d65 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53 
    29 CoreFoundation      0x016b5a9b __CFRunLoopDoSource1 + 523 
    30 CoreFoundation      0x016e077c __CFRunLoopRun + 2156 
    31 CoreFoundation      0x016dfac3 CFRunLoopRunSpecific + 467 
    32 CoreFoundation      0x016df8db CFRunLoopRunInMode + 123 
    33 UIKit        0x00229add -[UIApplication _run] + 840 
    34 UIKit        0x0022bd3b UIApplicationMain + 1225 
    35 BullsEye       0x0000219d main + 141 
    36 libdyld.dylib      0x01d7870d start + 1 
    37 ???         0x00000001 0x0 + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 
+1

См http://raywenderlich.com/10209/my-app-crashed-now-what-part-1 – rmaddy

+2

добавить ошибка трассировки – manujmv

+0

нажмите Command + u. вы узнаете ошибку цели в ур prom. то вы можете легко узнать, в чем причина ошибки потока. – ChenSmile

ответ

0

Эти 2 линии показывают свою ошибку в след ошибки:

2013-11-19 19:59:12.299 BullsEye[13764:70b] -[UILabel intValue]: unrecognized selector sent to instance 0x8a7ef20 
2013-11-19 19:59:12.351 BullsEye[13764:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UILabel intValue]: unrecognized selector sent to instance 0x8a7ef20' 

Похоже, вы ошибка не вызвана кодом вас в курсе, но где-либо у вас есть:

[UILabel intValue]; 

Где бы вы ни использовали этот код, вы пытаетесь получить целочисленное значение UILabel, когда вы должны попытаться получить целочисленное значение свойства text объекта UILabel.

Таким образом, предполагая, что название ярлыка является "MyLabel:"

[myLabel.text intValue]; 
Смежные вопросы