我的应用程序的用户可以执行十几个相关的操作,我想让他们用 Siri 来完成,但我不确定如何有效地做到这一点。我知道我可以INIntent在用户执行操作时捐赠一个,但是是否可以捐赠带有可自定义参数的操作?例如,用户可以说“执行操作 1”,1作为参数。用户是否必须先执行 12 个操作中的每一个,然后才能使用 Siri 执行此操作?我也知道可以使用NSUserActivityand INInteractions 来让用户更轻松地将 Siri 与应用程序一起使用,但是我找不到任何资源可以让我知道我想要做的事情是否可行...
我将一个文件复制到一个新项目中,似乎工作正常.这段代码也在旧项目中工作,但突然之间(在新项目中),我得到了一些我无法弄清楚的错误.
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self
selector:@selector(saveBookmarks)
name:UIApplicationWillTerminateNotification
object:nil];
[center addObserver:self
selector:@selector(saveBookmarks)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
Run Code Online (Sandbox Code Playgroud)
使用该名称UIApplicationWillTerminateNotification给出了错误"使用未声明的标识符UIApplicationWillTerminateNotification".
使用该名称UIApplicationDidEnterBackgroundNotification给出了错误消息"使用未声明的标识符UIApplicationDidEnterBackgroundNotification"并尝试更改NSExtensionHostDidEnterBackgroundNotification,清除错误的名称,但这不是我需要的?!
我知道这段代码以前工作过,但我不能为我的生活弄清楚为什么它现在不起作用.
在我的 Mongo 数据库中,我有两个集合 \xe2\x80\x94speakers和speeches,并且我可以使用以下代码块“加入”它们(获取演讲者的演讲):
// I\'ve already found the \'speaker\' in the database\ndb.collection(\'speakers\').aggregate([{\n $match: { "uuid": speaker.uuid } },\n { $lookup: {\n from: "speeches",\n localField: "uuid",\n foreignField: "speaker_id",\n as: "speeches" } }\n]).toArray();\nRun Code Online (Sandbox Code Playgroud)\n\n它工作得很好,但我想按一个date或多个title字段对演讲数组进行排序,但我所做的一切似乎都无法实现。我在这里看到的示例都没有完成我需要它们做的事情。我尝试在块{ $sort: { "speech.title": -1 } }之后添加$lookup,但它什么也没做。这可能吗?