Моя главная проблема вращается вокруг dispatch_once
.Я конвертирую этот target-c код в Swift :
dispatch_once(&_startupPred, ^{
[MPPush executeUnsafeStartupWithConfig:[MPConfig configWithAppKey:appKey withAppId:appID withAccountId:accountId forProduction:inProduction] authToken:authToken];
});
Swiftify не очень помогает.Так что я копаю немного глубже.Видимо dispatch_once больше не в Swift.В соответствии с этим принятым ответом, я могу добиться этого следующим образом:
let executeStartup = {
self.executeUnsafeStartupWithConfig(config: MPConfig.config.configWithAppKey(appKey: appKey, withAppId: appId, withAccountId: accountId, forProduction: inProduction), authToken: authToken)
}()
_ = executeStartup
Но при этом я получаю это предупреждение:
Константа executeStartup предполагает, что имеет тип '()', что может быть неожиданным
Итак, во-первых, это правильный способ замены dispatch_once
в Swift?Во-вторых, как мне справиться с этим предупреждением?