“AnyObject”类型的值没有成员年龄
Posted
技术标签:
【中文标题】“AnyObject”类型的值没有成员年龄【英文标题】:value of type 'AnyObject' has no member age 【发布时间】:2017-03-13 18:49:01 【问题描述】:这是我的一个程序的代码,它实际上适用于另一个应用程序,但是当我再次使用时,它说“AnyObject”类型的值没有成员“年龄”
这是我用来将数据保存到 coredata 的代码
let user = User(context: context)
user.name = username.text!
user.age = Int16(userage.text!)!
appDelegate.saveContext()
print("user name and age saved")
下面我正在使用操作按钮来检索核心数据
@IBAction func retrieve(_ sender: UIButton)
do
let data = try context.fetch(User.fetchRequest())
for each in data
print("Name : \((each as AnyObject).name! ?? "name!")\nAge : \((each as AnyObject).age!)\n")
catch
// handle error
请帮助我哪里错了,当使用 CoreData 实体的“用户”时,有时它似乎无法检测到 swift 似乎无法检测到
【问题讨论】:
【参考方案1】:不要将具体类型User
转换为未指定的AnyObject
print("Name : \(each.name)\nAge : \(each.age)\n")
如果您遇到编译器错误,请合并FetchRequest
的通用语法
【讨论】:
不,这是不正确的,迅速强迫你接受每一个作为 AnyObject 那你的Core Data环境不对。带有通用请求的fetch
应该返回关联类型的数组。试试这个语法:try context.fetch(User.fetchRequest()) as! [User]
以上是关于“AnyObject”类型的值没有成员年龄的主要内容,如果未能解决你的问题,请参考以下文章
类型'(String,AnyObject)'在swift中没有下标成员
类型 (string , anyobject) 没有下标成员
斯威夫特:'(字符串)-> AnyObject?没有名为“下标”的成员