首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >引用子视图控制器时,对成员“first(where:)”错误的不明确引用

引用子视图控制器时,对成员“first(where:)”错误的不明确引用
EN

Stack Overflow用户
提问于 2018-06-05 07:08:20
回答 2查看 675关注 0票数 -2

我正在编写一个iOS应用程序,并且有一个我试图引用的子视图控制器。子视图控制器是父视图控制器的代理。

在父视图控制器的顶部,我有:fileprivate var cameraViewController: CameraViewController<AnyObject>?

viewDidLoad()中,我有

代码语言:javascript
复制
guard let cameraController = childViewControllers.first as? CameraViewController else  {
            fatalError("Check storyboard for missing CameraViewController")
        }

        cameraViewController = cameraController

然而,我得到了一个错误:Ambiguous reference to member 'first(where:)'

有人能给我解释一下为什么会这样吗?对于父级,我只有一个子级视图控制器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-05 23:57:37

CameraViewController需要在任何地方都是相同的。当我将CameraViewController实例化为cameraViewController时,这需要反映在代码的第二部分中。第二部分应该如下所示:

代码语言:javascript
复制
guard let cameraController = childViewControllers.first as? CameraViewController<AnyObject> else  {
            fatalError("Check storyboard for missing CameraViewController")
        }

        cameraViewController = cameraController
票数 0
EN

Stack Overflow用户

发布于 2018-06-05 09:49:04

不能繁殖。这是我的应用程序的单一视图控制器文件中的完整代码:

代码语言:javascript
复制
import UIKit
class CameraViewController : UIViewController {}
class ViewController: UIViewController {
    fileprivate var cameraViewController: CameraViewController?
    override func viewDidLoad() {
        super.viewDidLoad()
        guard let cameraController = childViewControllers.first as? CameraViewController else  {
            fatalError("Check storyboard for missing CameraViewController")
        }
        cameraViewController = cameraController
    }
}

它编译得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50689941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档