我想要实现的是将核心数据从一个视图控制器传递到另一个视图控制器。我有一个tableView,当点击某个单元格时,我希望下一个屏幕在下一个ViewController上显示单元格上的人名作为标签。我使用名为' name'的核心数据创建了两个实体。和'图像'。我只想通过这个名字'现在的数据。以下是我在prepareForSegue
中的内容:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){
if(segue.identifier == "moreInfo"){
let objectController: QuotesVC = segue.destinationViewController as! QuotesVC
let cell = sender as! UITableViewCell
let indexPath = tableView.indexPathForCell(cell)
let object: Friend = fetchedResultController.objectAtIndexPath(indexPath!) as! Friend
objectController.object = object
}
}
这就是我对我的QuotesVC'查看控制器:
import UIKit
import CoreData
class QuotesVC: UIViewController {
var object: Friend? = nil
@IBOutlet weak var personImg: UIImageView!
@IBOutlet weak var personName: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
configureView(object!)
}
func configureView(friend: Friend) {
personName.text = friend.name
}
我想知道当我还没有真正在单元格中创建一个对象时,我是否正在尝试检索一个对象?当我点击一个单元格将我带到下一个ViewController时,我收到此错误:
***因未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'没有对象在索引2处 索引0'
的部分
非常感谢任何帮助!