我在代码中收到了这个警告,但我不知道它的含义,也不知道我需要做什么来修复它。警告内容如下:
“return”后面的表达式被视为“return”的参数
它显示在这条线上:
// Tell Realm to use this new configuration object for the default Realm
有人能解释一下我做错了什么吗?见下面的代码部分。
一些背景信息,代码是一个数据库管理器类的一部分,我用它来迁移一个未加密的领域数据库到一个加密的数据库,如果加密的数据库还不存在。如果加密的数据库已经存在,它配置领域使用这个作为默认值。如果它不能打开它(例如,因为错误的加密密钥),它创建一个新的数据库。
let exists = self.encryptedDatabaseExists(config)
if exists {
//Try to open Realm with new config. If unsuccessful, it needs to be removed and a new one created
do {
_ = try RLMRealm(configuration: config)
// Tell Realm to use this new configuration object for the default Realm
RLMRealmConfiguration.setDefaultConfiguration(config)
RLMRealm.defaultRealm()
} catch let err {
Log.error("Encrypted DB could not be opened: \(err)")
self.createNewEncryptedDatabase(config)
}
} else {
self.migrateToEncryptedDatabase(config)
}
2条答案
按热度按时间p3rjfoxz1#
Swift 5轻松享受
chhqkbe12#
NB:由于我以前遇到过这个问题,因此在此添加此内容。
根据swift文档,如果一个表达式紧跟在return语句之后,它也会被返回/运行。
在本例中,return语句后跟其他代码表达式,这些表达式被视为参数。
要防止这种情况,只需在返回后添加一个
;
,代码执行将停止。