Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // InteressiMeetUpVC.swift
- // Konnecta
- //
- // Created by Cristian Capannini on 06/07/23.
- //
- import UIKit
- protocol InteressiMeetUpVCDelegate: AnyObject { // class deprecated serve o non serve??!!
- func closingInteressiMeetUpVC()
- }
- class InteressiMeetUpVC: UIViewController {
- weak var delegate: InteressiMeetUpVCDelegate?
- @IBOutlet weak var aggiungiInteressiButton: UIButton!
- @IBOutlet weak var tableView: UITableView!
- let appDelegate = UIApplication.shared.delegate as! AppDelegate
- var checkboxData: [Bool] = []
- var feedbackArrayRec: [Interessi]?
- lazy var refreshControl: UIRefreshControl = {
- let refreshControl = UIRefreshControl()
- refreshControl.addTarget(self, action: #selector(ChatVC.handleRefresh(_:)), for: UIControl.Event.valueChanged)
- refreshControl.tintColor = UIColor.darkGray
- return refreshControl
- }()
- override func viewDidLoad() {
- super.viewDidLoad()
- /*tableView.tableFooterView = UIView(frame: .zero)
- tableView.register(UINib(nibName: "InteresseCell2", bundle: nil), forCellReuseIdentifier: "InteresseCell2")
- tableView.estimatedRowHeight = 60.0
- tableView.dataSource = self
- tableView.delegate = self*/
- let object = getData()
- self.feedbackArrayRec = object?.interessi
- self.tableView?.register(UINib.init(nibName: "TopTitleHeader", bundle: nil), forHeaderFooterViewReuseIdentifier: "TopTitleHeader")
- self.tableView?.register(UINib.init(nibName: "InteresseCell2", bundle: nil), forCellReuseIdentifier: "InteresseCell2")
- self.tableView?.reloadData()
- //getData()
- }
- @IBAction func aggiungiInteressiButtonPressed(_ sender: Any) {
- /*var interessiSelezionati: [Interesse] = []
- for (index, item) in checkboxData.enumerated() {
- if item {
- print("InteressiMeetUpVC aggiungiButtonPressed aggiungo l'interesse: \(self.allInteressiInSection[index].descrizione)")
- interessiSelezionati.append(self.allInteressiInSection[index])
- }
- }
- if interessiSelezionati.count > 10 { // 8
- DispatchQueue.main.async {
- let alert = UIAlertController(title: "", message: "E' possibile selezionare al massimo 10 interessi.", preferredStyle: .alert)
- let okAlert = UIAlertAction(title: "Ok", style: .default, handler: nil)
- //okAlert.setValue(accentColor, forKey: "titleTextColor")
- alert.addAction(okAlert)
- self.present(alert, animated: true)
- }
- } else {
- }
- */
- self.dismiss(animated: true, completion: nil)
- }
- }
- extension InteressiMeetUpVC:UITableViewDelegate{
- func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
- return 44.0
- }
- func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?{
- let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "TopTitleHeader") as? TopTitleHeader
- let contnetView = self.feedbackArrayRec?[section].categoria
- headerView?.setContent(content: contnetView)
- return headerView
- }
- func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
- return 54.0
- }
- func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
- return .leastNonzeroMagnitude
- }
- }
- extension InteressiMeetUpVC: UITableViewDataSource{
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
- return self.feedbackArrayRec?[section].elenco.count ?? 0
- }
- func numberOfSections(in tableView: UITableView) -> Int {
- return self.feedbackArrayRec?.count ?? 0
- }
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- let cell = tableView.dequeueReusableCell(withIdentifier: "InteresseCell2", for: indexPath) as! InteresseCell2
- let objectValue = self.feedbackArrayRec?[indexPath.section].elenco[indexPath.row]
- cell.setContentValue(contnet: objectValue)
- return cell
- }
- }
- func getData() -> EventsRecords?
- {
- var tmpRec: EventsRecords?
- var dataAsString: String = String()
- print("InteressiMeetUpVC getData")
- /* DispatchQueue.main.async {
- self.refreshControl.endRefreshing()
- }
- */
- let getListaInteressiString = "\(Constants.GET_LISTA_INTERESSI_URL)"
- let interessiURL: URL = URL(string: getListaInteressiString)!
- var request = URLRequest(url: interessiURL)
- request.httpMethod = "POST"
- let headers = ["Content-Type": "application/x-www-form-urlencoded"]
- request.allHTTPHeaderFields = headers
- let parameters: [String: Any] = [
- "user_id": UserDefaults.standard.string(forKey: "user_id") ?? "-1",
- "email": UserDefaults.standard.string(forKey: "email") ?? "utente@ospite.it",
- "r": "" // mettere il campo search ma è
- ]
- request.httpBody = parameters.percentEncoded()
- let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
- guard let data = data else {
- print("InteressiRegistrazioneVC getData error: \(String(describing: error))")
- DispatchQueue.main.async {
- //self.hideLoading()
- //self.isLoading = false
- }
- return
- }
- if let httpResponse = response as? HTTPURLResponse {
- print("InteressiMeetUpVC getData status code: \(httpResponse.statusCode)")
- if httpResponse.statusCode == 200 {
- } else {
- }
- }
- // converting data to string
- dataAsString = String.init(data: data, encoding: String.Encoding.utf8)!
- print("InteressiMeetUpVC getData dataAsString: \(dataAsString)")
- //if let path = Bundle.main.path(forResource: dataAsString, ofType: "json")
- //{
- do {
- let jsonData = Data(dataAsString.utf8)
- let decoder = JSONDecoder()
- do {
- let people = try decoder.decode(EventsRecords.self, from: jsonData)
- tmpRec = people
- } catch {
- print(error)
- }
- }
- // }
- }
- task.resume()
- return tmpRec
- }
- struct EventsRecords: Codable {
- let success: Int?
- let interessi: [Interessi]?
- }
- // MARK: - Interessi
- struct Interessi: Codable {
- let cid, categoria: String?
- let elenco: [Elenco]
- }
- // MARK: - Elenco
- struct Elenco: Codable {
- let id, cid, descrizione: String?
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement