-1

アプリケーションのナビゲーション バーのポップオーバー ビュー内に 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 クラス内でピッカーと配列を作成しようとしていることが原因でしょうか?

4

1 に答える 1