类消息的接收器类型“WkAlertAction”是前向声明

时间:2016-09-09 06:41:57

标签: ios watchkit watch-os-2

在我的watchos应用程序中,我正在尝试使用WkAlertAction但是我遇到了这个问题。我附上快照供参考。

类消息的接收器类型“WkAlertAction”是前向声明

这是什么意思?我究竟做错了什么?

enter image description here

3 个答案:

答案 0 :(得分:1)

该错误告诉您仅声明了有问题的类,但未找到定义。例如,如果您在标头中声明了一个带有@class WKAlertAction的类,则会发生这种情况,因为它是参数的类型。但是,只要您尝试实际使用它,即将消息发送到实现中的对象,就会出现此错误,因为编译器无法找到类的实际定义。

没有看到你的整个代码我不能肯定地说,但我想你只是忘了包含框架或模块。确保相关范围内的@import WatchKit;处于某个位置,即可能在实施文件中看到错误。

答案 1 :(得分:1)

在与我的另一个Watchos项目核实后,我发现了我所做的问题。

我在这里附上了目标会员的图像。

enter image description here

根据上述错误,我在watchos扩展程序和ios扩展程序中选择了我的watchos项目。 (WKAlertAction类在ios中不可用,在Watchos中可用)。

我就是这样取消选中目标会员资格。

enter image description here

现在我的WKAlertAction运作良好。

答案 2 :(得分:0)

我正在寻找swift和这个问题弹出窗口 所以我会在使用

时添加对我有用的快速结果

WKAlertAction

watchOS 4.0

Swift 4

        let action1 = WKAlertAction.init(title: "Cancel", style:.cancel) {
            print("cancel action")
        }

        let action2 = WKAlertAction.init(title: "default", style:.default) {
            print("default action")
        }

        let action3 = WKAlertAction.init(title: "destructive", style:.destructive) {
            print("destructive action")
        }

        presentAlert(withTitle: "Alert Title", message: "message is here", preferredStyle:.actionSheet, actions: [action1,action2,action3])