在 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 文件并复制粘贴整个代码。
在我的 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 文件并复制粘贴整个代码。