如何在UIPickerView
中选择行时通知我的视图控制器并将字符串传递给它?
我在常规视图中有自定义UIPickerView
,并且我在另一个类中有自定义数据源/委托。
如何在pickerView:didSelectRow:inComponent:
委托方法期间通知我的观点?并将选定的字符串传递给视图控制器?
答案 0 :(得分:1)
符合选择器委托的类将实现
pickerView:didSelectRow:inComponent:
知道在选择器中选择了哪一行(或字符串)。
如果来自外界的其他一些类想知道选择了哪一行,那么这个类又需要通知。这将创建一个授权链。
例如,如果pickerClass是实现委托方法的类。如果其他一些类(比如outsideClass)想要知道选择了哪一行,那么你可以将这个外部类委托给pickerClass并传递给它。
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
[_pickerClassDelegate pickerClass:self didSelectRow:row inComponent:component];
}
答案 1 :(得分:1)
为此,您必须在自定义类中创建一个方法,如下所示:
.h文件 id parent;
.m文件
-(void)initWithPageNumber:(id)pidParent{
parent=pidParent
}
然后您以编程方式设置委托方法,如下所示: uipickerview.delegate = parent; uipickerview.datasource = parent;
希望它会有所帮助。
如遇到困难,请告诉我。
答案 2 :(得分:1)
您可以通过使用NSNOtification centet发布和观察通知或创建委托协议来实现此目的。研究委托协议,这是在objective-c中学习的好东西。