我正在将Apple的样本Custom View Controller Presentations and Transitions(特别是AAPLCustomPresentationController)翻译成Swift,我偶然发现了一个问题。
在他们的preferredContentSizeDidChangeForChildContentContainer方法(第190行)中,他们检查
Run(activityTestList);
在Swift(3.0)中,我试过
- (void)preferredContentSizeDidChangeForChildContentContainer:(id<UIContentContainer>)container
{
[super preferredContentSizeDidChangeForChildContentContainer:container];
if (container == self.presentedViewController)
[self.containerView setNeedsLayout];
}
但是我收到了错误
二元运算符&#39; ==&#39;不能应用于两个UIContentContainer&#39;操作数
如何在Swift中执行此检查?
答案 0 :(得分:4)
如果两个对象都是UIViewControllers,可能在比较之前将它们转换为该类型?
if presentedViewController as? UIViewController == container as? UIViewController {
// true
}