Swift 2.0核心数据 – TableView不读NSManagedObject

在第一个视图控制器我保存数据的核心数据与uitextfields,我想tableview读取数据在第二个视图控制器,我没有错误,但我没有显示数据在tableview单元格中。 在第一个VC我做了NSManaged对象的属性,在第二个VC我检索该对象,把它放在tableview中,但没有数据显示。 这对于我理解tableview如何从核心数据读取数据至关重要,非常感谢。

第一个VC

import UIKit import CoreData class ViewController: UIViewController { @IBOutlet weak var nameField: UITextField! @IBOutlet weak var passField: UITextField! var item = [NSManagedObject]() override func viewDidLoad() { super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } @IBAction func saveInfo(sender: UIButton) { let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate let context: NSManagedObjectContext = appDel.managedObjectContext //add new user let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context) newUser.setValue(nameField.text, forKey: "username") newUser.setValue(passField.text, forKey: "passwords") // add the info to the entity do{ try context.save() }catch{ print("Error, data not saved!") } // retrieve data 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!) } } }catch{ print("Erorr, data not read!") } nameField.text = "" passField.text = "" }// end of button function } 

第二VC又名桌面

 import UIKit import CoreData class TableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var tableView: UITableView! var bridge: ViewController = ViewController() var array = [NSManagedObject]() override func viewDidLoad() { super.viewDidLoad() self.array = self.bridge.item self.tableView.delegate = self self.tableView.dataSource = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func tableView(tableView:UITableView, numberOfRowsInSection section:Int) -> Int { return array.count } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) let person = array[indexPath.row] cell.textLabel!.text = person.valueForKey("username") as? String return cell } }