Ios 将数据从局部视图控制器传递到另一个表视图
我有两个表视图控制器,其中数据来自端点。在表视图1的详细视图中,我想将选定的对象传递给表视图2,该表视图2尝试使用“准备分段”,但未成功。这是我的密码 第一个表视图Ios 将数据从局部视图控制器传递到另一个表视图,ios,swift,core-data,Ios,Swift,Core Data,我有两个表视图控制器,其中数据来自端点。在表视图1的详细视图中,我想将选定的对象传递给表视图2,该表视图2尝试使用“准备分段”,但未成功。这是我的密码 第一个表视图 class ListContentsViewController: BaseMainList { lazy var concreteFetchedResultsController: NSFetchedResultsController = { [unowned self] in let occurred
class ListContentsViewController: BaseMainList {
lazy var concreteFetchedResultsController: NSFetchedResultsController = { [unowned self] in
let occurredAtSort = NSSortDescriptor(key: "occuredAt", ascending: false)
let identifierSort = NSSortDescriptor(key: "identifier", ascending: false)
let request = NSFetchRequest(entityName: "Contents")
request.sortDescriptors = [occurredAtSort, identifierSort]
let fetch = NSFetchedResultsController(fetchRequest: request, managedObjectContext: NSManagedObjectContext.MR_defaultContext(),
sectionNameKeyPath: nil, cacheName: nil)
fetch.delegate = self
do {
try fetch.performFetch()
} catch _ {
}
return fetch
}()
override var fetchedResultsController: NSFetchedResultsController {
get {
return concreteFetchedResultsController
}
set {
self.fetchedResultsController = newValue
}
}
var selectedContents: Selected?
// MARK: - View Life Cycle
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let segueId = segue.identifier {
switch segueId {
case "ContentDetailsSegue":
if let cell = sender as? UITableViewCell, indexPath = tableView.indexPathForCell(cell) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
let object = fetchedResultsController.objectAtIndexPath(indexPath) as! Selected
let controller = segue.destinationViewController as! ContentsDetailsViewController
controller. selectedContents = object
}
default:
()
}
}
}
}
内容详细视图控制器
var selectedContents: Selected?
override func viewDidLoad() {
super.viewDidLoad()
self.automaticallyAdjustsScrollViewInsets = false
self.navigationController!.navigationBar.translucent = true
mapView.delegate = self
loadContents()
}
// MARK: - Load
func load() {
if let content = selectedContents {
labelt.text = content.name
labely.text = content.email
labelu.text = content.number
}
@IBAction func ignore(sender: UIBarButtonItem) {
if let content = self. selectedContents {
ContentServices.ignoreWithID(andContentID: content.identifier, withCompletion: { (error) in
let alert = UIAlertController(title: NSLocalizedString("", comment: ""), message: NSLocalizedString("Success", comment: ""), preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
self.ignoreBt.enabled = false
return
})
}
}
点击按钮后,它会将在表视图1中选择的对象传递到表视图2。如何继续?是否进入“ContentDetails”案例中?@Luzo yes table view 1将数据传递给Content Details view Controller在此之后,我需要将数据传递给ContentDetails Classic中的table view 2如果我理解正确,您想知道如何知道数据何时存在。在contentdetailsvc中创建一个具有passing属性的函数,它将只包含将属性设置为VC并调用tableview reload。然后可以在TBview委托中分配数据