在 swift 中使用了未解析的标识符 'Model'

Use of unresolved identifier 'Model' in swift

在我的 Swift 项目中,我创建了 class 名为模型:

class Model : NSObject
{
    func createDatabase(nameOfTheDataBase: String  ) ->String
    {
     // do something and return String
    }
}

当我试图在另一个 class

中使用这个 class
  public class User
   {
     var databasePath = String()
     var path : String?
     public func create() -> String
    {
     databasePath = Model().createDatabase("ShoppingPad.sqlite")
    // return something
    }
  }

这会出错

Use of unresolved identifier 'Model'

我尝试清理然后构建我的项目。但是错误再次出现。

如果模型 class 位于与用户 class 不同的目标中,则模型无法访问,因为它不是 public。 尝试 make Model class public 看看它是否编译。

如果您要做的不仅仅是 return 数据库路径,您应该研究单例,将其作为使数据库功能可供所有人访问的一种方式 类。那里有很多教程和示例,但看起来像这样

class Model
{
    static let sharedInstance: Model = {
        let instance = Model()
        // setup code
        return instance
    }()

    func createDatabase(nameOfTheDataBase: String  ) ->String
    {
        // do something and return String
        return "Bob"
    }

}

public class User
{
     var databasePath = String()
     var path : String?

    public func create() -> String
    {
        databasePath = sharedModel.createDatabase("ShoppingPad.sqlite")
        // return something
        return databasePath
    }
}

这段代码也适用于我。 Xcode .swift 文件中似乎有一些错误。获取新的 .swift 文件并复制粘贴整个代码。