为什么在扩展程序中无法识别此类型?

时间:2019-09-05 12:36:26

标签: ios swift widget

我正在尝试将一个小部件添加到我的应用程序中,并使用一个按钮触发一个视图控制器中的功能,但是我不希望它打开应用程序。

到目前为止,我已经写了这篇文章:

@IBAction func startTapped(_ sender: Any) {
   let sb = UIStoryboard(name: "Main", bundle: nil)
    let activityVC = sb.instantiateViewController(withIdentifier: "") as! ActivityViewController
    activityVC.updateUI()
}

但是,上面的代码给了我以下错误

  

“使用未声明的类型'ActivityViewController'”

我在主项目中定义了Activity View控制器,在这里应该如何使用它?

2 个答案:

答案 0 :(得分:0)

ActivityViewController类添加到您的项目中。在Main.storyboard中,添加具有ActivityViewController类的viewcontroller并将标识符(“ ActivityViewController”)分配给此ViewController。如下所示获取ViewController。

@IBAction func startTapped(_ sender: Any) {
    let sb = UIStoryboard(name: "Main", bundle: nil)
    let activityVC = sb.instantiateViewController(withIdentifier: "ActivityViewController") as! ActivityViewController
    activityVC.updateUI()
}

答案 1 :(得分:0)

您可以尝试在小部件目标中添加ActivityViewController。

在Xcode中选择视图控制器文件->单击菜单栏中的视图->检查器->显示文件检查器

在文件检查器的右侧,您将具有“目标成员身份”菜单,您可以在其中选中小部件目标的复选框,以将ActivityViewController包含在小部件和主项目中。