Я пытаюсь передать данные из моей структуры Cheats в новый контроллер tableview, чтобы заполнить новую таблицу соответствующей информацией. Я сделал исследование, но новичок в быстром. У меня есть опыт в PHP, но передавая мое знание оказывается довольно сложно ...Передача данных из массива struct в новый контроллер tableview
В моей подготовке к классу SEGUE я получаю несколько ошибок:
Definition конфликтовать с предыдущим значением:
var DataPass = CheatsArray[indexPath.row]
Невозможно присвоить значение типа 'Строка' на '[String]:
DestViewController.CheatsArray = DataPass.name
Вот копия моих нынешних 3 файлов
Структуры и массивы:
struct Game {
var name : String
var cheats : [Cheat]
}
struct Cheat {
var name : String
var code : String
var description : String
}
// Create Our Game Info And Cheats/Codes For Each Game!
//-------------------------------------------------------
let COD4 = Game(name: "Call Of Duty 4", cheats: [Cheat(name: "Cheat", code: "Code", description: "Description")])
let GTAV = Game(name: "Grand Theft Auto 5", cheats: [Cheat(name: "Cheat", code: "Code", description: "Description")])
// Place Our New Games Inside This Array!
//---------------------------------------
let ArrayOfGames = [COD4,GTAV]
GameListController:
import Foundation
import UIKit
class GamesListViewController: UITableViewController {
var CheatsArray = [Game]()
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return ArrayOfGames.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
cell.textLabel?.text = ArrayOfGames[indexPath.row].name
return cell
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let indexPath : NSIndexPath = self.tableView.indexPathForSelectedRow!
let DestViewController = segue.destinationViewController as! CheatsListViewController
let DataPass : Game
var DataPass = CheatsArray[indexPath.row]
DestViewController.CheatsArray = DataPass.name
}
}
CheatListController:
class CheatsListViewController: UITableViewController {
var CheatsArray = [String]()
override func viewDidLoad() {
super.viewDidLoad()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return CheatsArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("cell2", forIndexPath: indexPath)
cell.textLabel?.text = CheatsArray[indexPath.row]
return cell
}
}
Вставьте соответствующие части кода в вопрос. Как минимум, покажите структуру, которую вы хотите передать, и свою попытку в вашем проекте readyForSegue. Вопросы переполнения стека должны быть автономными. Ссылки на внешние проекты не одобряются, потому что ссылки могут сломаться в будущем, и вопрос и ответ должны быть вместе для будущих ссылок, чтобы помочь другим. – vacawama
А, я извиняюсь! Я посмотрю на редактирование моего вопроса. Спасибо за головы :) – user1263909
Вопрос отредактирован, еще раз спасибо за то, что дал мне знать :) – user1263909