Swift Xcode为我写的所有东西都提供了错误

Swift Xcode为我写的所有东西都提供了错误,swift,xcode,Swift,Xcode,我已经搜索了两天的解决方案,但在网上找不到任何东西。 我当时正在做一个项目,但很快我就无法声明任何新的或重复任何我写的旧的东西。我试着打开一个新项目,然后重新开始,但它又出现了。您可以在照片中看到,它确实需要声明已经声明的变量,如cool和hype。 现在我不能从事任何项目 import UIKit class ViewController: UIViewController, CLLocationManagerDelegate { var cool: Int = 2 var

我已经搜索了两天的解决方案,但在网上找不到任何东西。 我当时正在做一个项目,但很快我就无法声明任何新的或重复任何我写的旧的东西。我试着打开一个新项目,然后重新开始,但它又出现了。您可以在照片中看到,它确实需要声明已经声明的变量,如cool和hype。 现在我不能从事任何项目

import UIKit

class ViewController: UIViewController, CLLocationManagerDelegate {

    var cool: Int = 2
    var hype: Int = 2

    hype = 2 + cool

    override func viewDidLoad() {
        super.viewDidLoad()

        // Set up the location manager here.
        locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
        locationManager.requestWhenInUseAuthorization()
        locationManager.startUpdatingLocation()
    }

    // ...
}

事实上,您所有的错误都是由语法和其他错误造成的,完全属于一般错误

  • 它应该是
    CLLocationManager
    需要导入。
    • 这会在声明和其他依赖于声明的地方产生错误
  • 变量可以声明,但不能在类顶层的函数外部操作
  • 先前未定义变量
    locationManager
  • 使用未声明的类型“CLLocationManageDelegate”

    • 这是因为您尚未导入CoreLocation模块
    • 将行
      import CoreLocation
      添加到
      import UIKit
  • 您无法在该范围内执行
    hype
    的赋值,请尝试将其移动到
    viewDidLoad

  • 您必须声明一个位置管理器变量并初始化一个:
    • 在其他变量上方添加行
      var locationManager=CLLocationManager()


  • 嘿,不要发布截图,请复制并粘贴你的代码到你的问题中,并包括错误。屏幕截图可以很好地显示您的具体情况,因为您已经放弃了代码中的一些问题,但是,能够自己复制和调整代码来帮助您是很有用的。复制您的所有代码,因为我认为只有一个}缺失从屏幕截图中很难判断出哪里出了问题。你可能不得不把你的项目发布到一个公共的git回购网站上,然后把链接发布到这里。一天后,所有的错误都消失了,我什么也不做。
    import CoreLocation
    import UIKit
    
    class ViewController: UIViewController, CLLocationManagerDelegate {
    
        let locationManager = CLLocationManager()
    
        var cool: Int = 2
        var hype: Int = 2
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            hype = 2 + cool
    
            // Set up the location manager here.
            locationManager.delegate = self
            locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
            locationManager.requestWhenInUseAuthorization()
            locationManager.startUpdatingLocation()
        }
    
        // ...
    }