我在四个不同的地方得到 Use of unresolved identifier "Rule"
。
在 var rules
、let rule1
、let rule2
和 let rule3
处。
我做错了什么?
class RulesTableViewController: UITableViewController {
var rules = [Rule]()
let cellIdentifier = "TableViewCell"
override func viewDidLoad() {
super.viewDidLoad()
loadRulesData()
}
func loadRulesData() {
let photo1 = UIImage(named: "card1")!
let rule1 = Rule(name: "Waterfall", photo: photo1, description: "Every player begins drinking, starting with the player who drew the card and continuing in the direction of play. No one can stop drinking until the player before them does.")!
let photo2 = UIImage(named: "card2")!
let rule2 = Rule(name: "You", photo: photo2, description: "Player picks someone to drink.")!
let photo3 = UIImage(named: "card3")!
let rule3 = Rule(name: "Me", photo: photo3, description: "Player drinks.")!
rules += [rule1, rule2, rule3]
}
}
最佳答案
如果在框架中定义了Rule
,则必须将其标记为public
,以便您使用它。
如果它在同一模块中定义,则必须将其标记为 internal
(Swift 隐式地这样做)或 public
。
我假设 Rule
是在同一个模块中定义的。因此,重新启动 Xcode 可能会有所帮助。
如果没有进一步的信息,很难说出问题所在。
更新:
所以,我假设您的项目看起来像这样:
在 Rule.swift
(或项目中的任何文件)中,您必须定义类型 Rule
。例如,它可能看起来像这样:
如果您还没有定义类型 Rule
,您可能需要阅读 Swift Programming Language Book , 在继续之前。
关于ios - 使用未解析的标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35116009/