【发布时间】:2013-06-22 05:06:26
【问题描述】:
我正在开发一个 iPad 应用程序,但我遇到了委托问题...协议方法没有被调用。我不确定我错过了什么,这是我的代码。
@protocol pickerLabelProtocol <NSObject>
- (void)selectedPickerData:(UILabel *)sender;
@end
@interface showPickerVC : UIViewController
@property (nonatomic, strong) id <pickerLabelProtocol> delegate;
@end
@implementation showPickerVC
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
//i used breakpoint, the 'delegate' is always nil for some reason?
[self.delegate selectedPickerData:self.mainLabel];
}
----------------------
@interface someViewController : UIViewController <pickerLabelProtocol>
@property (nonatomic, strong) showPickerVC *showPicker;
@end
@implementation someViewController
- (void)selectedPickerData:(UILabel *)sender
{
//protocol method
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.showPicker = [[showPickerVC alloc]init];
self.showPicker.delegate = self;
}
【问题讨论】:
-
您到底想做什么?你想访问什么?
-
“ShowPickerVC”是一个弹出窗口,来自“someViewController”...“ShowPickerVC”有一个选择器,用户在选择器中选择数据,我希望将所选数据传递给“someViewController” ...
-
我不知道为什么,但是这段代码在 iPhone 上运行良好,但在 iPad 上却不行,可能是因为 popOver??
-
显示showPickerVC的代码在哪里?
-
showPickerVC 是通过 popOver Segue 呈现的...效果很好,问题是在“viewWillDisappear”中,代表显示 nil...
标签: iphone ios objective-c protocols