2015-09-29 46 views
0

tableview(在另一个视图控制器中)如何从第一个视图控制器读取这些数据?CoreData和tableview

我应该把这个数组或东西?这是检索保存的数据的代码,我已经设法保存数据。

do { 
    let request = NSFetchRequest(entityName: "Users") 
    let results = try context.executeFetchRequest(request) 
    if results.count > 0 { 
     for item in results as! [NSManagedObject] { 
      let name = item.valueForKey("username") 
      let password = item.valueForKey("passwords") 
      print(name!, password!) 
      array.append (name, password) // this do not work, can't put that in array so tableview can read array in another vc. 
     } 
    } 
} 

当我把名和密码对象数组,它说:

不能将任何对象转换为数组字符串

我怎样才能检索到核心数据数组,以便t​​ableview中可以读来自数组,还是应该直接从coredata读取?

+1

是什么类型声明'array'?至于将数据传递给另一个表视图控制器,您可以传递托管对象上下文并让它运行自己的获取请求。你甚至可以传递一个配置的获取请求,它可以添加到作为表视图的日期源的获取结果控制器。您可以将它传递给一个ManagedObjectID数组,TableView可以将其转变为它自己的托管对象上下文中的对象。 – Abizern

+1

我想要说明的是,您可以使用不同的解决方案,这些解决方案都取决于您尝试执行的内容。核心数据很复杂,因为它支持所有这些不同的解决方案 – Abizern

回答

0

如果您想将数据从VC A共享到VC B,则应该在表视图中使用segue方法和显示数据。 Segue公司的方法中的tableView

self.performSegue(withIdentifier: "identifier", sender: nil) 
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "identifier" { 
     let destination = segue.destination as! AlreadyStartViewController 
     destination.variable = variable /*and other*/ 
    } 
} 

,然后显示的数据。如果你要问我关于代码 - 问