为什么我无法将新实例的委托设置为自我?
问题描述:
我有一个uipickerview,它出现在一个ActionSheet中。所有这些都在“MultiPicker”类中。我从 “FirstViewController” 创建一个新的实例是这样的:为什么我无法将新实例的委托设置为自我?
multiPicker *multiPic = [[multiPicker alloc]init];
multiPic.delegate = self;
[multiPic action:aRunIndex];
而且里面的 “multiPicker”,在 “行动:”
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:title delegate:otroDelegate cancelButtonTitle:nil destructiveButtonTitle:@"Cancel" otherButtonTitles:@"Done", nil];
UIPickerView *pickerView = [[[UIPickerView alloc] init] autorelease];
pickerView.tag = 101;
pickerView.delegate = self;
pickerView.dataSource = self;
pickerView.showsSelectionIndicator = YES;
[actionSheet addSubview:pickerView];
[actionSheet showInView:self.view];
我需要 “FirstViewController” 时MultiPicker完成,这样我就可以更新FirstView中的表格。我尝试将一个新的代理设置为MultiPicker,它在完成时告诉FirstView。但是第一段代码中的“multipic.delegate = self”指令导致应用程序崩溃,并显示“终止由于未捕获的异常”。
如果我只是把所有的“MultiPicker”代码FirstViewController类中,而不是在一个单独的一个,阻塞,当我试图推动从不同按钮的动作片留“取消”
任何想法?
感谢ü
答
- 确保您的类的“自我”实现需要协议
- 协议有可选和必需的方法,你必须实现你的类“自我”代表“协议”的所有必需的方法