私は Xcode 4.3.2 で作業しています。
私はXcodeが初めてです。ボタンのクリックで別のビューに変更する必要があるアプリケーションを構築しています。私のファイルは次のとおりです: AppDelegate.h/.m、GreenViewController.h/.m、SwitchViewController.h/.m、GreenView.xib - ストーリーボードを使用していませんが、プロジェクトでは使用しないよう要求されています (下位互換性の問題) )。
ここに私の問題があります (非常に単純に思えます): UIButton (GreenView.xib に配置) がクリックされたときに、コンソールに出力しようとしています。GreenViewController.h のコードは次のとおりです。
#import <UIKit/UIKit.h>
@interface GreenViewController : UIViewController
- (IBAction)switchViews:(id)sender;
@end
GreenViewController.m の私の (非推奨の) コードは次のとおりです。
#import "GreenViewController.h"
@implementation GreenViewController
- (IBAction) switchViews:(id)sender {
NSLog(@"Button Pressed!");
}
GreenView.xib の所有者は GreenViewController です。
何らかの理由で、UIButton (GreenView.xib 内) が押されたときにのみエラーが発生します。
2012-10-09 18:07:38.490 MyViewSwitcher[8655:f803] -[SwitchViewController switchViews:]: unrecognized selector sent to instance 0x688a660
2012-10-09 18:07:38.492 MyViewSwitcher[8655:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SwitchViewController switchViews:]: unrecognized selector sent to instance 0x688a660'
SwitchViewController はメソッド「switchViews」から何かを期待しているようですが、「switchViews」は GreenViewController にしかリストされていません。以前は、SwitchViewController に「switchViews」がありましたが、メソッドとすべての接続に対応するすべてのコードを削除しました。繰り返しますが、GreenViewController の「switchViews」が GreenView.xib にある UIButton に接続されていることを再確認しました。プロジェクトを既にクリーンアップして再構築しましたが、まだこのエラーが発生します。
ご協力いただきありがとうございます!