【发布时间】:2014-12-08 06:13:10
【问题描述】:
我研究了 StackOverflow 和 Google,并查看了大多数 StackOverflow Swift 示例,但我的问题的解决方案仍然难以捉摸。我有需要在 TableView 中显示的带有 userName 和 userAge 的 CoreData。我知道我需要使用带有对象的类,然后在单元格配置中引用对象名称和年龄。
我的自定义类定义为:
class User: NSObject {
var userName: String
var userAge: Int
init(userName: String, userAge: Int) {
self.userName = userName
self.userAge = userAge
super.init()
}
}
在 TableView 控制器中:
var users: [User] = []
随后是从核心数据模型中检索用户记录的逻辑;然后对于检索到的每条记录:
let userDataObject = [ User(userName: userNameFromCoreData!, userAge: userAgeFromCoreData!)]
问题是当我尝试将每个用户记录附加到数组时,我可以在表中显示数组:
users.append(userDataObject)
给出一个 Swift 编译器错误 'NSArray' is not a subtype of 'User'。
如果我使用
var users: [AnyObject] = []
users.append(userDataObject) 有效,但我不确定如何从数组中检索用户名和年龄。
我尝试将实体类字段附加为 appName.User(其中 appName 是真正的应用程序名称),但 users.append 仍然失败并出现同样的错误。
我知道这是一个令人沮丧的问题,在某种程度上,我觉得这可能只是上面代码中的语法,但非常感谢您的想法。
【问题讨论】:
-
感谢 Leonardo 编辑课程代码。为下一个问题/答复吸取的教训。
标签: arrays uitableview core-data swift nsobject