4

我遇到了一个奇怪的问题,即在一个 XCode 项目中工作的代码无法在另一个项目中编译。两者都运行 Swift4.2。

为什么我会收到“UIBackgroundTaskIdentifier has no member 'invalid' 错误?

导入 UIKit 导入基础

//Type 'UIBackgroundTaskIdentifier' (aka 'Int') has no member 'invalid'
var backgroundTask: UIBackgroundTaskIdentifier = UIBackgroundTaskIdentifier.invalid

我可以跳转到 UIBackgroundTaskIdentifier 定义并看到: 在此处输入图像描述

4

3 回答 3

9

我有同样的问题。使用UIBackgroundTaskInvalid代替解决.invalid

var backgroundTask: UIBackgroundTaskIdentifier = UIBackgroundTaskInvalid

不知道为什么它表现得如此奇怪。在 raywenderlich.com 的示例中,代码编译没有错误。

于 2018-12-28T08:10:46.193 回答
2

适用于 Xcode 11 / swift 5.1

var backgroundTaskID : UIBackgroundTaskIdentifier = UIBackgroundTaskIdentifier.invalid
于 2019-11-06T14:51:53.993 回答
0

我有一个类似的问题:在将代码从一个项目粘贴到另一个项目时,我突然得到“CIFormat(又名'Int32')没有成员'RGBA8'。正如原始帖子所述,通过跳转到定义,我可以看到'RGBA8 ' 被定义。

在我的情况下,根据这个问题的答案在构建设置中更改 Swift 语言版本解决了这个问题。

该错误似乎是由于在 Swift 4.2 中发生的 Apple 框架中的重命名所致。将 Swift 语言版本更改为 4.2 解决了该问题。

于 2019-02-05T15:54:48.410 回答