Project 9 of 100 Days of Swift in iOS15 学習記録


100 Days of Swiftを勉強しているうちに
自分が出会った問題と解決方法を記録します

環境

Xcode 13.2.1
iPhone SE(1st generation) iOS 15.2

Warning: UITableViewController.tableView must be used from main thread only

最適解は分かりませんが、一応以下のように添削すれば紫色のエラーが出なくなります

viewController.swift
func parse(json: Data) {
	let decoder = JSONDecoder()

	if let jsonPetitions = try? decoder.decode(Petitions.self, from: json) {
		petitions = jsonPetitions.results
		filteredPetitions = petitions
-		tableView.performSelector(onMainThread: #selector(UITableView.reloadData), with: nil, waitUntilDone: false)
+		performSelector(onMainThread: #selector(reloadData), with: nil, waitUntilDone: false)
	} else {
		performSelector(onMainThread: #selector(showError), with: nil, waitUntilDone: false)
	}
}

+@objc func reloadData() {
+	tableView.reloadData()
+}