如何检查 Parse 是否已经初始化
How to check if Parse initialized already
所以我创建了一个键盘应用程序扩展,它使用 Parse 来获取一些需要的数据。我在键盘加载后初始化了 Parse,如下所示:
func connectParser() {
// Initialize Parse
let configuration = ParseClientConfiguration {
[=10=].applicationId = "BlahBlahBlah123456"
[=10=].clientKey = "BlahBlahBlah123456"
[=10=].server = "https://parseapi.back4app.com"
}
Parse.initialize(with: configuration)
}
注意:初始化通常在 AppDelegate 中完成,但由于这是一个 App Extension,我在首先加载的主 InputView 中完成了初始化
当用户在加载键盘后切换出键盘然后尝试切换回键盘时会出现问题。扩展程序崩溃,我收到以下错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Parse is already initialized.'
如何检查 Parse 是否已经初始化,这样我就不会重新初始化它并导致崩溃?
所以我没有在任何地方找到任何真正的解决方案,但我确实找到了自己的解决方案,我会把它保存在这里并回答我自己的问题,以防其他人遇到这个问题:
基本上我会检查是否Parse.currentConfiguration() == nil
如果是,那么我知道 Parse 尚未初始化。我不知道这是否是解决此问题的最佳方法,所以如果您有更好的选择,请将其添加为答案。
最终函数如下所示:
func connectParse() {
if Parse.currentConfiguration() == nil {
// Initialize Parse
let configuration = ParseClientConfiguration {
[=10=].applicationId = "BlahBlahBlah123456"
[=10=].clientKey = "BlahBlahBlah123456"
[=10=].server = "https://parseapi.back4app.com"
}
}
}
所以我创建了一个键盘应用程序扩展,它使用 Parse 来获取一些需要的数据。我在键盘加载后初始化了 Parse,如下所示:
func connectParser() {
// Initialize Parse
let configuration = ParseClientConfiguration {
[=10=].applicationId = "BlahBlahBlah123456"
[=10=].clientKey = "BlahBlahBlah123456"
[=10=].server = "https://parseapi.back4app.com"
}
Parse.initialize(with: configuration)
}
注意:初始化通常在 AppDelegate 中完成,但由于这是一个 App Extension,我在首先加载的主 InputView 中完成了初始化
当用户在加载键盘后切换出键盘然后尝试切换回键盘时会出现问题。扩展程序崩溃,我收到以下错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Parse is already initialized.'
如何检查 Parse 是否已经初始化,这样我就不会重新初始化它并导致崩溃?
所以我没有在任何地方找到任何真正的解决方案,但我确实找到了自己的解决方案,我会把它保存在这里并回答我自己的问题,以防其他人遇到这个问题:
基本上我会检查是否Parse.currentConfiguration() == nil
如果是,那么我知道 Parse 尚未初始化。我不知道这是否是解决此问题的最佳方法,所以如果您有更好的选择,请将其添加为答案。
最终函数如下所示:
func connectParse() {
if Parse.currentConfiguration() == nil {
// Initialize Parse
let configuration = ParseClientConfiguration {
[=10=].applicationId = "BlahBlahBlah123456"
[=10=].clientKey = "BlahBlahBlah123456"
[=10=].server = "https://parseapi.back4app.com"
}
}
}