我(想)我已经在Apple的文档和在线这两个地方广泛研究了这个问题。但是,经过几个小时的故障排除后,我没有想法。我的Modal视图控制器拒绝在适当的时候自行解散。Storyboard Modal ViewController不会关闭;已经尝试了一切
我知道,模态控制器必须由提供模态视图的控制器解散,并且据我所知,这就是我正在做的。
问题:
这是包含在prepareForSegue用于呈现的ViewController的代码,将其全部:
if ([segue.identifier isEqualToString:@"DISCREPANCYVC"]) {
DiscrepancyViewController *destController = segue.destinationViewController;
destController.discrepancyDelegate = self;
}
模态控制器包含两个UIPickerViews,其表现正常。选择器视图用于构造NSString的“classificationString”。
我对模态的视图,一个“完成”按钮当被按下时,调用此方法/选择器(按照我已经建立协议定义):
[self.DiscrepancyDelegate didFinishWithClassification:classificationString];
的didFinishWithClassification方法显示如下:
- (void)didFinishWithClassification:(NSString *)classification {
[self dismissModalViewControllerAnimated:NO];
如果它的事项,该协议被定义为
@protocol DiscrepancyViewControllerDelegate <NSObject>
@required
- (void)didFinishWithClassification:(NSString *)aClassification;
@end
保持该返回参考所述呈现视图的属性显示为:
@property (strong, nonatomic) id <DiscrepancyViewControllerDelegate> DiscrepancyDelegate;
有四种附加属性(强,非原子),它们用来容纳四个阵列填充所UIPickerViews(每个选择器具有两个分量)。
我尝试过动画和非动画解雇,但行为没有变化。
这可能是什么原因造成的?我正在使用ARC,因此在尝试转储模态屏幕之前发布任何内容都不是我想要的,对吗?从我读过的,viewDidUnload()不一定会在这种情况下触发(并且它不会触发我的情况)。
帮助!!
THX,
特德
尝试使用弱财产 – Slappy 2012-02-27 09:20:12