Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 将MKMapType变量从FlipsideViewController中的UISegmentedControl传递到MainViewController_Objective C_Methods_Delegates_Uiviewcontroller_Mkmapview - Fatal编程技术网

Objective c 将MKMapType变量从FlipsideViewController中的UISegmentedControl传递到MainViewController

Objective c 将MKMapType变量从FlipsideViewController中的UISegmentedControl传递到MainViewController,objective-c,methods,delegates,uiviewcontroller,mkmapview,Objective C,Methods,Delegates,Uiviewcontroller,Mkmapview,将UISegmentedControl的索引从FlipSideViewController.m传递到保存MKMapView的MainViewController.m时遇到问题。这是我的密码: MainViewController.h @interface MainViewController : UIViewController <FlipsideViewControllerDelegate, MKMapViewDelegate> { MKMapView *mapView;

将UISegmentedControl的索引从FlipSideViewController.m传递到保存MKMapView的MainViewController.m时遇到问题。这是我的密码:

MainViewController.h

 @interface MainViewController : UIViewController <FlipsideViewControllerDelegate, MKMapViewDelegate> {
   MKMapView *mapView;
 }

 @property (nonatomic, retain) UISegmentedControl *mapType;

 @property (nonatomic, retain) IBOutlet MKMapView *mapView;
 - (IBAction)showInfo:(id)sender;
 @end
@protocol FlipsideViewControllerDelegate;

@interface FlipsideViewController : UIViewController {
  id <FlipsideViewControllerDelegate> delegate;
  IBOutlet UISegmentedControl *mapType_;
}

@property (nonatomic, assign) id <FlipsideViewControllerDelegate> delegate;
  - (IBAction)done:(id)sender;

@property (nonatomic, retain) UISegmentedControl *mapType_;
@end

@protocol FlipsideViewControllerDelegate
    - (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
    - (void)flipsideViewControllerSelectionChangedToIndex:(int)index;
@end
MainViewController.m

 - (IBAction)changeView {
  [delegate flipsideViewControllerSelectionChangesToIndex: mapType_.selectedSegmentIndex];
  }
- (void)flipsideViewControllerSelectionChangedToIndex:(int)index {
  if ( index == 0 )mapView.mapType = MKMapTypeStandard;
  if ( index == 1 )mapView.mapType = MKMapTypeHybrid;
  if ( index == 2 )mapView.mapType = MKMapTypeSatellite;
 }
我的问题是,在我的模拟器中,当我单击UISegmentedControl中的任何段时,应用程序将关闭。控制台显示抛出的此错误:

-[FlipsideViewController changeView:]: unrecognized 
 selector sent to instance 0x6d43f30
2011-06-01 19:50:31.055 GermTracker2[893:207] *** 
Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[FlipsideViewController changeView:]:   
unrecognized selector sent to instance 0x6d43f30'

FlipSideViewController.h中有一个双
@end
。在
-(iAction)完成后尝试删除
@end
:(id)发送方

确定修复了该错误,但现在在我的模拟器中,当我翻转视图并单击应用程序关闭的任何UI分段控件时unexpectedly@Saphrosit-当您发表评论时,我正在这样做-我编辑了我的OP以反映当前错误您是否在.xib文件中正确链接了UISegmentedControl?可能在开始时您定义了
-(iAction)changeView:(id)sender
,在您将sender作为参数删除之后…这可能是一个原因…因此-应该有
:(id)发件人
参数与否?My
.xib
现在在文件所有者中有一个名为
mapType
的出口,我将其连接到我的UISegmentedControl,消除了骰子错误。但是,当我单击控件中的某个段并单击“完成”以反转时,没有任何更改。当我再次翻转到flipsideview时,默认的0段再次被选中。。。。