swift - 在 Sirikit IntentHandler 中无法访问单例
问题描述
我有一个项目,我想将 Sirikit 添加到其中。我添加了意图并希望将值存储在我的数据存储领域中,当我尝试访问用于创建此任务的函数时,我得到了一个错误。这是我下面的代码
extension IntentHandler : INCreateTaskListIntentHandling {
public func handle(intent: INCreateTaskListIntent,
completion: @escaping (INCreateTaskListIntentResponse) -> Swift.Void) {
guard let title = intent.title else {
completion(INCreateTaskListIntentResponse(code: .failure, userActivity: nil))
return
}
CategoryFunctions.instance.createList(name: title.spokenPhrase,.....)
var tasks: [INTask] = []
if let taskTitles = intent.taskTitles {
let taskTitlesStrings = taskTitles.map {
taskTitle -> String in
return taskTitle.spokenPhrase
}
tasks = createTasks(fromTitles: taskTitlesStrings)
CategoryFunctions.instance.add(tasks: taskTitlesStrings, toList: title.spokenPhrase)
}
let response = INCreateTaskListIntentResponse(code: .success, userActivity: nil)
response.createdTaskList = INTaskList(title: title,
tasks: tasks,
groupName: nil,
createdDateComponents: nil,
modifiedDateComponents: nil,
identifier: nil)
completion(response)
}
}
这个单例实例化在我的应用程序中运行良好,但我不知道为什么我会收到一条错误消息Use of unresolved identifier 'CategoryFunctions'
我的 CategoryFunctions 单例
class CategoryFunctions {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
var database:Realm!
static let instance = CategoryFunctions()
.....
...
解决方案
在 xcode 中选择您的文件,在右侧,选择 File Inspector,然后在 Target Membership 下,选择您的 Intent。
推荐阅读
- laravel - Laravel Eloquent whereHas 使用 With
- python - ServiceUnavailable:503 DNS解析服务失败:firestore.googleapis.com
- jquery - 如何设置 Rails UJS 和 Turbo?
- python - 将科学计数法中的数字转换为具有有效数和指数的元组
- reactjs - 加载未显示在反应钩子中
- html - 如何避免在选择菜单中对选项的值属性/内部 html 进行硬编码?对于 CS50 金融
- html - overflow-y 自动水平裁剪子元素
- javascript - Discord.JS - 多按钮更新
- azure - 如何在 Azure 流分析作业中使用配置数据?
- servicestack - SS OrmLite:加入和过滤列名时的列名不明确