'消息'代码和'组'代码完全相同,无法弄清楚为什么我得到'AnyObject'没有名为'group'的成员错误,这将不允许我构建和运行我的应用程序。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
var context:NSManagedObjectContext = appDel.managedObjectContext!
var request = NSFetchRequest(entityName: "Messages")
request.returnsObjectsAsFaults = false
var results = context.executeFetchRequest(request, error: nil)
if results?.count > 0 {
for x:AnyObject in results! {
if let message = x.message! {
self.messages.append(message)
}
}
}
var request2 = NSFetchRequest(entityName: "Groups")
request2.returnsObjectsAsFaults = false
var results2 = context.executeFetchRequest(request2, error: nil)
if results2?.count > 0 {
for x:AnyObject in results2! {
if let group = x.group! {
self.groups.append(group)
}
}
}
}
我在其他地方寻找过同样的错误,找不到任何解决方法。我是swift / xcode的新手,所以如果这是一个初学者级别的问题,请给我一些懈怠!提前谢谢!
答案 0 :(得分:2)
这种情况正在发生,因为您正在将for for循环中的x转换为AnyObject类型,如果这是期望的行为,那么我认为您可能正在尝试从核心检索密钥的值数据对象,在这种情况下,您可能正在寻找
x.valueForKey("keyName") as? DESIRED_TYPE
如果您使用的是不同类型的对象,则可以将它们强制转换为执行获取请求的结果数组
var results2 = context.executeFetchRequest(request2, error: nil) as! [YourCustom or NSManagedObjects]