アプリケーションのナビゲーション バーのポップオーバー ビュー内に UIPickerView を配置しようとしています。ポップオーバーを開くボタンをタップすると、次のエラーが表示されます。
-[PopoverView pickerView:numberOfRowsInComponent:]: unrecognized selector sent to instance 0x75577f0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PopoverView pickerView:numberOfRowsInComponent:]: unrecognized selector sent to instance 0x75577f0'
これは私の.hファイルにあるものです:
#import <UIKit/UIKit.h>
@interface PopoverView : UIViewController {
IBOutlet UIPickerView *pickerView;
NSMutableArray *pickerArray;
}
@end
これは私の.mファイルにあるものです:
#import "PopoverView.h"
@interface PopoverView ()
@end
@implementation PopoverView
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
// initalizes and allocates the array that holds the values for the picker
pickerArray = [[NSMutableArray alloc] init];
//adds the values to the array
[pickerArray addObject:@"Blue"];
[pickerArray addObject:@"Green"];
[pickerArray addObject:@"Orange"];
[pickerArray addObject:@"Pink"];
[pickerArray addObject:@"Purple"];
[pickerArray addObject:@"Red"];
[pickerView selectRow:0 inComponent:0 animated:NO];
}
- (NSInteger)numberOfComponentsInPickerView:(NSInteger)component {
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)picker numberofRowsInComponent:(NSInteger)component{
return [pickerArray count];
}
- (NSString *)pickerView:(UIPickerView *)picker titleForRow:(NSInteger)row forComponent:(NSInteger)component{
return [pickerArray objectAtIndex:row];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
これは、ボタン アクションのコードを含むクラスではなく、PopoverView クラス内でピッカーと配列を作成しようとしていることが原因でしょうか?