简体   繁体   English

单击按钮应用程序会终止进程

[英]When clicking a button app kills process

Basically I've created a soundboard app from another app. 基本上,我已经从另一个应用程序创建了一个音板应用程序。 However i keep getting the same error and I can't understand whats wrong. 但是我一直收到同样的错误,我不明白怎么了。 I'm quite new to xcode and I've searched all over the internet for help. 我对xcode还是很陌生,我已经在互联网上搜索了所有帮助。 I'll post all information which maybe required and hopefully can get this working. 我会发布所有可能需要的信息,希望可以使它正常工作。

## The Error Report ## ##错误报告##

2011-04-27 00:37:01.437 SoundBoard[11613:207] -[HBFSViewController pushBetter]: unrecognized selector sent to instance 0x693ccb0
2011-04-27 00:37:01.440 SoundBoard[11613:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[HBFSViewController pushBetter]: unrecognized selector sent to instance 0x693ccb0'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x02553b99 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x026a340e objc_exception_throw + 47
    2   CoreFoundation                      0x025556ab -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                      0x024c52b6 ___forwarding___ + 966
    4   CoreFoundation                      0x024c4e72 _CF_forwarding_prep_0 + 50
    5   UIKit                               0x002b27f8 -[UIApplication sendAction:to:from:forEvent:] + 119
    6   UIKit                               0x0033dde0 -[UIControl sendAction:to:forEvent:] + 67
    7   UIKit                               0x00340262 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
    8   UIKit                               0x0033ee0f -[UIControl touchesEnded:withEvent:] + 458
    9   UIKit                               0x002d63d0 -[UIWindow _sendTouchesForEvent:] + 567
    10  UIKit                               0x002b7cb4 -[UIApplication sendEvent:] + 447
    11  UIKit                               0x002bc9bf _UIApplicationHandleEvent + 7672
    12  GraphicsServices                    0x02e33822 PurpleEventCallback + 1550
    13  CoreFoundation                      0x02534ff4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
    14  CoreFoundation                      0x02495807 __CFRunLoopDoSource1 + 215
    15  CoreFoundation                      0x02492a93 __CFRunLoopRun + 979
    16  CoreFoundation                      0x02492350 CFRunLoopRunSpecific + 208
    17  CoreFoundation                      0x02492271 CFRunLoopRunInMode + 97
    18  GraphicsServices                    0x02e3200c GSEventRunModal + 217
    19  GraphicsServices                    0x02e320d1 GSEventRun + 115
    20  UIKit                               0x002c0af2 UIApplicationMain + 1160
    21  SoundBoard                          0x00001b30 main + 102
    22  SoundBoard                          0x00001ac1 start + 53
)
terminate called after throwing an instance of 'NSException'
## HBFS VIEW CONTROLLER .M ##

import "HBFSViewController.h"
import <AVFoundation/AVAudioPlayer.h>

@implementation HBFSViewController

- (IBAction)pushAbout {

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"About" message:@"The Mr Dolan Soundboard : Created by Charlie Gilbertson" delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
    [alert show];
    [alert release];

}

- (IBAction)pushAnd {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"And" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];    

}

- (IBAction)pushLad {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Lad" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushNoLegs {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"No legs" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushMyDaughter {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"My Daughter" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushLass {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Lass" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushYO {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"YO" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushTape {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Tape" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];    

}

- (IBAction)pushMySon {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"My Son" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushNoArms {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"No arms" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushCanDo {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Can do better than you" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushOr {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Or" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushScotch {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Scotch" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushAndThey {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"And they've got" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}

- (IBAction)pushEgg {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Egg" ofType:@"aif"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

}
@end


## HBFS VIEW CONTROLLER .H ##

import <UIKit/UIKit.h>
import <Foundation/Foundation.h>
import <AVFoundation/AVAudioPlayer.h>

@interface HBFSViewController :UIViewController <AVAudioPlayerDelegate> {
    IBOutlet UIBarButtonItem *aboutButton;
    IBOutlet UIToolbar *toolBar;
}
- (IBAction)pushAbout;
- (IBAction)pushAnd;
- (IBAction)pushLad;
- (IBAction)pushLass;
- (IBAction)pushOr;
- (IBAction)pushScotch;
- (IBAction)pushTape;
- (IBAction)pushYO;
- (IBAction)pushEgg;
- (IBAction)pushNoLegs;
- (IBAction)pushNoArms;
- (IBAction)pushMyDaughter;
- (IBAction)pushMySon;
- (IBAction)pushCanDo;
- (IBAction)pushAndThey;
@end

See this error message? 看到此错误消息?

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[HBFSViewController pushBetter]: unrecognized selector sent to instance 0x693ccb0

Now look at all the IBAction methods you've listed ( -pushAbout , etc.). 现在查看列出的所有IBAction方法( -pushAbout等)。

You'll notice that -pushBetter is not listed among them. 您会注意到, -pushBetter未在其中列出。

You need to write a -pushBetter method and wire it up to the UIButton . 您需要编写一个-pushBetter方法并将其连接到UIButton

It looks like you're somehow sending a pushBetter method call to your view controller which it is apparently not prepared for (according to your code and the error): 看起来您似乎以某种方式向视图控制器发送了一个pushBetter方法调用,这显然是没有准备的(根据您的代码和错误):

-[HBFSViewController pushBetter]: unrecognized selector sent to instance 0x693ccb0' 

Can you to a global search for "pushBetter" and see where it is in your project?? 您可以在全球范围内搜索“ pushBetter”并查看它在项目中的位置吗?

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

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