Показать детали фильтрованного массива Xcode 6
Я сделал UIsearch bar для поиска в моем табличном представлении, и все в порядке, но проблема, когда я хочу передать данные из отфильтрованного массива на другой контроллер, после того как я сделал поиск, здесь моя подготовка
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "ahmed" {
if let indexPath = self.tableView.indexPathForSelectedRow() {
print(indexPath.row)
var object = Persons[indexPath.row]
(segue.destinationViewController as DetailViewController).name = object.name
}
}
}
этот код работает для неисследованных данных, какой код следует записать для передачи искомых данных
2 ответа
Объявите объект в контроллере вида Destination и получите доступ напрямую. проверьте ниже код.
//Destination View controller
import UIKit
var marCategoryList : NSMutableArray!
class tsCategoryViewController: UIViewController {
// Source view controller
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
var objTest = tsCategoryViewController()
let marImageNam = NSMutableArray(objects:"1.jpeg","2.jpeg","3.jpeg","4.jpeg","5.jpeg","6.jpeg","7.jpeg","8.jpeg","9.jpeg","10.jpeg")
marCategoryList = marImageNam
println("\(marCategoryList)")
}
Я добавляю этот код, и это работает
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "ahmed" {
if((searchDisplayController?.active) != nil)
{
if let indexpath=searchDisplayController?.searchResultsTableView.indexPathForSelectedRow()
{
var object=filtered[indexpath.row]
(segue.destinationViewController as DetailViewController).name = object.name
}
}
if let indexPath = self.tableView.indexPathForSelectedRow() {
print(indexPath.row)
var object = Persons[indexPath.row]
(segue.destinationViewController as DetailViewController).name = object.name
}
}
}