Вы можете создать один класс, который хранит персоны данные, как это:
class People {
var name: String?
var age : Int?
var location: String?
var status: String?
init(name: String, age: Int, location: String, status: String) {
self.name = name
self.age = age
self.location = location
self.status = status
}
}
После этого вы можете добавить данные таким образом:
func setUpPersons(){
let person1 = People(name: "Anna", age: 20, location: "12312321", status: "Single")
let person2 = People(name: "John", age: 30, location: "12312321", status: "Single")
let person3 = People(name: "Leo", age: 30, location: "12312321", status: "Single")
let preson4 = People(name: "Dharmesh", age: 30, location: "12312321", status: "Single")
arrayOfPerson.append(person1)
arrayOfPerson.append(person2)
arrayOfPerson.append(person3)
arrayOfPerson.append(preson4)
}
Затем вы можете отобразить имя человека в Tableview клетку этот путь :
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! UITableViewCell
let person = arrayOfPerson[indexPath.row]
cell.textLabel?.text = person.name
return cell
}
Вы можете получить выбранный индекс ячейки таким образом:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
selectedIndex = indexPath.row
}
После этого вы можете передать данные с Segue таким образом:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "yourIdentifierInStoryboard") {
var detailViewController = (segue.destinationViewController as! DetailViewController)
let person = arrayOfPerson[selectedIndex]
detailViewController.nameP = person.name!
detailViewController.ageP = person.age!
detailViewController.locationP = person.location!
detailViewController.statusP = person.status!
}
}
И таким образом, вы можете отобразить данные выбранного лица:
class DetailViewController: UIViewController {
@IBOutlet weak var name: UILabel!
@IBOutlet weak var age: UILabel!
@IBOutlet weak var location: UILabel!
@IBOutlet weak var status: UILabel!
var nameP = ""
var ageP = 0
var locationP = ""
var statusP = ""
override func viewDidLoad() {
super.viewDidLoad()
println(nameP)
name.text = nameP
age.text = "\(ageP)"
location.text = locationP
status.text = statusP
}
}
HERE является ваш образец проекта.
Огромное вам спасибо, именно то, что я хотел. знаю, что я должен понять путь из этого образца проекта о том, как добавлять имена и хранить их в массиве, а не жестко кодировать их. Большое спасибо Dharmesh Kheni :) – Amit