ios - xcode下载 - xcode官网




Swift中的“使用未解决的标识符” (8)

因此,我一直在开发一个应用程序,并且一切正常。 但是今天,我像往常一样创建了一个新类,由于某种原因,我不能从其他类中访问Public / Global变量。 所有其他班级都可以,但是现在无论何时我尝试开设一个新班级我都做不到。 如何解决?

我正在使用Swift和Xcode 6。

工人阶级:

import UIKit
import Foundation
import Parse
import CoreData

var signedIn = true

class ViewController: UIViewController {

新课程:

import UIKit

class NewClass: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        signedIn = false

}

但是在 signedIn = false

我收到错误:

使用未解决的标识符“ signedIn”


一个可能的问题是您的新班级与另一个班级有不同的目标。

例如,它可能有一个测试目标,而另一个没有。 对于这种特定情况,您必须将所有类都包含在测试目标中,或者不包含任何类。


因为您尚未声明。 如果要使用其他类的变量,则必须使用

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    var DestViewController : ViewController = segue.destinationViewController as ViewController
    DestViewController.signedIn = false
}

您必须将此代码放在NewClass代码的末尾


对我来说,发生此错误是因为我试图调用 嵌套 函数。 我要做的只是将其修复的就是将功能带到可见的范围。


当您忘记导入库时,在Swift中也会发生“未解析标识符的使用”。 例如我有错误:

在其中我忘记了 UIKit

导入UIKit


您的 NewClass 继承自 UIViewController 。 您在 ViewController 声明了 signedIn 。 如果希望 NewClass 能够识别该变量,则必须在 NewClass 继承自的类中声明它。


我在Objective-Swift项目中遇到了Mantle Framework错误。 我试过的是

  1. 检查Bridging-Header.h文件中是否存在导入
  2. 更改 Mantle.h 文件中的Framework的目标成员资格,如下面的屏幕快照所示。

在“私人成员身份”之间进行切换会首先构建项目,最后出现错误。 然后为 Mantle.h 文件中出现的所有框架使用Public Membership构建项目,您必须成功。

这只是在Objective-C Swift项目中使用多个框架进行构建的错误。


我看到此错误的另一个地方是,当您的项目具有 多个目标 多个桥接头时 。 如果是共享类,请确保将资源添加到所有桥接标头中。

一个很好的提示是在左侧的“问题导航器”面板中查看; 根对象将显示发出投诉的目标。


有时,编译器会对类中的语法感到困惑。 如果您从其他地方粘贴源代码,则会发生很多情况。

尝试将“未解析的”源文件减少到最低限度,进行清理和构建。 成功构建之后,将所有复杂性添加回您的课程。

当重新启动Xcode无效时,这对我而言已消失。





swift