var tableView: UITableView!
var dataP: [PostData] = []
...
override func viewDidLoad() {
super.viewDidLoad()
tableView = UITableView(frame: self.view.bounds, style: .grouped)
tableView.delegate = self
tableView.dataSource = self
...
getPostData()
}
func getPostData() {
var tempData = [PostData]()
let databaseRef = Database.database().reference(withPath: "Посты")
databaseRef.observe(.value) {(snapshot, error) in
for child in snapshot.children {
let snap = child as! DataSnapshot
let res = snap.value as! [String: Any]
let title = res["Заголовок"] as! String
let subtitle = res["Подзаголовок"] as! String
let img = res["URL"] as! String
let date = res["Дата"] as! String
tempData.append(PostData(title: title, subtitle: subtitle, imgURL: img, date: date))
}
self.dataP = tempData
self.tableView.reloadData()
}
}
struct storeData {
var length: [PostData] = []
var social:Social = Social()
func update() {
social.tableView.reloadData()
}
}
func getPostData() -> [PostData] {
var tempData = [PostData]()
var data: storeData = storeData()
let databaseRef = Database.database().reference(withPath: "Посты")
databaseRef.observe(.value) {(snapshot, error) in
for child in snapshot.children {
let snap = child as! DataSnapshot
let res = snap.value as! [String: Any]
let title = res["Заголовок"] as! String
let subtitle = res["Подзаголовок"] as! String
let img = res["URL"] as! String
let date = res["Дата"] as! String
//tempData.append(PostData(title: title, subtitle: subtitle, imgURL: img, date: date))
data.length.append(PostData(title: title, subtitle: subtitle, imgURL: img, date: date))
data.update()
//self.tableView.reloadData()
}
}
return tempData
}
return getPostData().count
). Если я ее вызову, то будет 0, потому что, как я понимаю, массив tempData полон внутри функции парсинга, а если вызвать его глобально, то он будет пуст, как-то так... func getPostData() -> [PostData] {
var tempData = [PostData]()
let databaseRef = Database.database().reference(withPath: "Посты")
databaseRef.observe(.value) {(snapshot, error) in
for child in snapshot.children {
let snap = child as! DataSnapshot
let res = snap.value as! [String: Any]
let title = res["Заголовок"] as! String
let subtitle = res["Подзаголовок"] as! String
let img = res["URL"] as! String
let date = res["Дата"] as! String
tempData.append(PostData(title: title, subtitle: subtitle, imgURL: img, date: date))
}
self.tableView.reloadData()
return tempData // out = ok
}
return tempData // out = []
}
вот мой репозиторий с лабораторной работой 2 курса в ИТМО, для изучения шарпов - очень даже