Я работаю над проектом, где Initial View
имеет PickerView
, когда мы выбираем что-то.Я передаю эти данные как String
на TabBarController
, а затем с TabBarController
на каждые 5 его "детей".
На данный момент все отлично работает.
Теперь, нажав TableViewCell
, я хочу передать данные от одного из TabBarController's
дочерних элементов (ViewController
) в представление без TabBarController (FullNewsViewController
) и показать это представление.Я пробую несколько методов, и ничего не работает.Можете ли вы мне помочь?
Я работаю над Swift 5 и Xcode 10.2.
Это мой View Controller, из которого я хочу загрузить "FinalTeam":
import UIKit
import FirebaseDatabase
class ViewController: UIViewController, UITableViewDelegate,
UITableViewDataSource {
@IBOutlet weak var imageView: UIImageView!
var ref: DatabaseReference?
var refHandle: DatabaseHandle?
var news = [String]()
var FinalTeam = ""
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var infoLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let tabbar = tabBarController as! TabBarViewController
var FinalTeam = tabbar.Team
// infoLabel.text = String(describing: tabbar.Team)
infoLabel.text = FinalTeam
tableView.delegate = self
tableView.dataSource = self
ref = Database.database().reference()
switch FinalTeam {
case "Lech Poznań":
imageView.image = UIImage(named: "leszek")
refHandle = ref?.child("News/Lech/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Legia Warszawa":
imageView.image = UIImage(named: "legia")
refHandle = ref?.child("News/Legia/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Lechia Gdańsk":
imageView.image = UIImage(named: "lechia")
refHandle = ref?.child("News/Lechia/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Wisła Płock":
imageView.image = UIImage(named: "wisla_p")
refHandle = ref?.child("News/Wisła_P/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Wisła Kraków":
imageView.image = UIImage(named: "wisla_k")
refHandle = ref?.child("News/Wisła_K/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Jagiellonia Białystok":
imageView.image = UIImage(named: "jaga")
refHandle = ref?.child("News/Jaga/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Piast Gliwice":
imageView.image = UIImage(named: "piast")
refHandle = ref?.child("News/Piast/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Pogoń Szczecin":
imageView.image = UIImage(named: "pogon")
refHandle = ref?.child("News/Pogoń/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Korona Kielce":
imageView.image = UIImage(named: "korona")
refHandle = ref?.child("News/Korona/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Cracovia":
imageView.image = UIImage(named: "cracovia")
refHandle = ref?.child("News/Cracovia/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Śląsk Wrocław":
imageView.image = UIImage(named: "slask")
refHandle = ref?.child("News/Śląsk/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Miedź Legnica":
imageView.image = UIImage(named: "miedz")
refHandle = ref?.child("News/Miedź/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Zagłębie Sosnowiec":
imageView.image = UIImage(named: "zaglebie_s")
refHandle = ref?.child("News/Zagłębie_S/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Zagłębie Lubin":
imageView.image = UIImage(named: "zaglebie_l")
refHandle = ref?.child("News/Zagłębie_L/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Górnik Zabrze":
imageView.image = UIImage(named: "gornik")
refHandle = ref?.child("News/Górnik/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
case "Arka Gdynia":
imageView.image = UIImage(named: "arka")
refHandle = ref?.child("News/Arka/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
default:
imageView.image = UIImage(named: "lech")
refHandle = ref?.child("News/Lech/Naglowek").observe(.value, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.news.append(actualPost)
self.tableView.reloadData()
}
})
}
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return news.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "newsCell")
cell?.textLabel?.text = news[indexPath.row]
return cell!
}
}
Это мой FullNewsViewController, куда я хочу отправить эти данные:
import UIKit
import FirebaseDatabase
class FullNewsViewController: UIViewController,UITextViewDelegate {
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var contentTextView: UITextView!
@IBAction func button(_ sender: Any) {
navigationController?.popViewController(animated: true)
dismiss(animated: true, completion: nil)
}
var ref: DatabaseReference?
var refHandleTitle: DatabaseHandle?
var refHandleContent: DatabaseHandle?
var news = [String]()
var FinalTeam = ""
override func viewDidLoad() {
super.viewDidLoad()
ref = Database.database().reference()
contentTextView.delegate = self
switch FinalTeam {
case "Lech Poznań":
//imageView.image = UIImage(named: "leszek")
refHandleTitle = ref?.child("News/Lech/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Lech/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Legia Warszawa":
//imageView.image = UIImage(named: "legia")
refHandleTitle = ref?.child("News/Legia/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Legia/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Lechia Gdańsk":
//imageView.image = UIImage(named: "lechia")
refHandleTitle = ref?.child("News/Lechia/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Lechia/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Wisła Płock":
//imageView.image = UIImage(named: "wisla_p")
refHandleTitle = ref?.child("News/Wisła_P/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Wisła_P/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Wisła Kraków":
//imageView.image = UIImage(named: "wisla_k")
refHandleTitle = ref?.child("News/Wisła_K/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Wisła_K/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Jagiellonia Białystok":
//imageView.image = UIImage(named: "jaga")
refHandleTitle = ref?.child("News/Jaga/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Jaga/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Piast Gliwice":
// imageView.image = UIImage(named: "piast")
refHandleTitle = ref?.child("News/Piast/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Piast/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Pogoń Szczecin":
// imageView.image = UIImage(named: "pogon")
refHandleTitle = ref?.child("News/Pogoń/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Pogoń/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Korona Kielce":
// imageView.image = UIImage(named: "korona")
refHandleTitle = ref?.child("News/Korona/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Korona/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Cracovia":
//imageView.image = UIImage(named: "cracovia")
refHandleTitle = ref?.child("News/Cracovia/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Cracovia/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Śląsk Wrocław":
// imageView.image = UIImage(named: "slask")
refHandleTitle = ref?.child("News/Śląsk/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Śląsk/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Miedź Legnica":
// imageView.image = UIImage(named: "miedz")
refHandleTitle = ref?.child("News/Miedź/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Miedź/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Zagłębie Sosnowiec":
// imageView.image = UIImage(named: "zaglebie_s")
refHandleTitle = ref?.child("News/Zagłębie_S/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Zagłębie_S/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Zagłębie Lubin":
// imageView.image = UIImage(named: "zaglebie_l")
refHandleTitle = ref?.child("News/Zagłębie_L/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Zagłębie_L/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Górnik Zabrze":
// imageView.image = UIImage(named: "gornik")
refHandleTitle = ref?.child("News/Górnik/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Górnik/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
case "Arka Gdynia":
// imageView.image = UIImage(named: "arka")
refHandleTitle = ref?.child("News/Arka/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Arka/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
default:
// imageView.image = UIImage(named: "lech")
refHandleTitle = ref?.child("News/Lech/Naglowek").observe(.value, with: { (snapshot) in
let titlePost = snapshot.value as? String
if let actualTitlePost = titlePost {
self.news.append(actualTitlePost)
}
self.titleLabel.text = titlePost
})
refHandleContent = ref?.child("News/Lech/Tresc").observe(.value, with: { (snapshot) in
let contentPost = snapshot.value as? String
if let actualContentPost = contentPost {
self.news.append(actualContentPost)
}
self.contentTextView.text = contentPost
})
}
}
}
Это мой раскадровка