Advertisement
cowboy1222

Untitled

Apr 21st, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 6.42 KB | None | 0 0
  1. //
  2. //  attendanceViewController.swift
  3. //  studentHandbook
  4. //
  5. //  Created by Rengar Tsoi on 11/4/2017.
  6. //  Copyright © 2017年 Rengar Tsoi. All rights reserved.
  7. //
  8.  
  9. import UIKit
  10.  
  11. class attendanceViewController: UIViewController,UITableViewDelegate, UITableViewDataSource {
  12.    
  13.     @IBOutlet weak var table: UITableView!
  14.    
  15.  
  16.     override func viewDidLoad() {
  17.         super.viewDidLoad()
  18.        
  19.         table.dataSource = self
  20.         table.delegate = self
  21.        
  22.         let username = "parentX"
  23.         let password = "pw"
  24.  
  25.        
  26.         let urlString = "https://lenchan139.org/myWorks/fyp/android/attendDetails.php?username=" + username + "&password=" + password;
  27.        
  28.         //get_data(urlString)
  29.        
  30.         print(urlString)
  31.        
  32.         //print(get_data(urlString))
  33.        
  34.         //let urlString = "https://lenchan139.org/myWorks/fyp/android/attendDetails.php?username=" + username + "&password=" + password;
  35.        
  36.         let url = URL(string: urlString)
  37.         URLSession.shared.dataTask(with:url!) { (data, response, error) in
  38.             if error != nil {
  39.                 print(error!)
  40.             } else {
  41.                 do {
  42.                    
  43.                     let parsedData = try JSONSerialization.jsonObject(with: data!, options: []) as! [String:Any]
  44.                     //print(parsedData);
  45.                     let isVaild = parsedData["isVaild"] as! Bool;
  46.                     let loggedUser = parsedData["username"] as? String;
  47.                     let dictStudAttend = parsedData["studArray"]["student_attend"] as! NSArray;
  48.                    
  49.                     //UserDefaults.standard.array(dictStudAttend, forKey: "studAray")
  50.                     //UserDefaults.standard.synchronize()
  51.                    
  52.                    
  53.                    
  54.                     var output : String;
  55.                     if(isVaild && loggedUser != nil){
  56.                         output = loggedUser! + " is vaild";
  57.                         for i in 0...dictStudAttend.count-1{
  58.                             let row = dictStudAttend[i] as! NSDictionary;
  59.                             let name = row["student_name"] as! String;
  60.                             print("student " + String(i) + "'s name is " + name);
  61.                            
  62.                         }
  63.                     }else if(loggedUser != nil){
  64.                         output = loggedUser! + " is not vaild";
  65.                     }else{
  66.                         output = "InVaild!";
  67.                     }
  68.                     print(output);
  69.                 } catch let error as NSError {
  70.                     print(error)
  71.                 }
  72.             }
  73.            
  74.             }.resume()
  75.        
  76.         let dictStudAttend = UserDefaults.standard.array(forKey: "studArray")
  77.         print(dictStudAttend)
  78.        
  79.    
  80.  
  81.        
  82.        
  83.         // Do any additional setup after loading the view.
  84.     }
  85.  
  86.  
  87.    
  88.     var list:[MyStruct] = [MyStruct]()
  89.    
  90.     struct MyStruct
  91.     {
  92.         var attend = ""
  93.        
  94.        
  95.         init(_ attend:String)
  96.         {
  97.             self.attend = attend
  98.            
  99.         }
  100.     }
  101.    
  102.    
  103.    /*
  104.    
  105.    
  106.    
  107.     func get_data(_ link:String)
  108.     {
  109.         let url:URL = URL(string: link)!
  110.         let session = URLSession.shared
  111.        
  112.         let request = URLRequest(url: url)
  113.        
  114.         let task = session.dataTask(with: request, completionHandler: {
  115.             (data, response, error) in
  116.            
  117.             self.extract_data(data)
  118.            
  119.         })
  120.        
  121.         task.resume()
  122.     }
  123.    
  124.    
  125.     func extract_data(_ data:Data?)
  126.     {
  127.        
  128.        
  129.         if(data == nil)
  130.         {
  131.             return
  132.         }
  133.        
  134.         do{
  135.             let parsedData = try JSONSerialization.jsonObject(with: data!, options: []) as! [String:AnyObject]
  136.             let dictStudArray = parsedData["attend_date"] as! NSArray
  137.            
  138.            
  139.             for i in 0 ..< dictStudArray.count
  140.             {
  141.                
  142.                 let dictStudAttend = parsedData["attend_date"] as! NSArray;
  143.                 if let data_object = dictStudAttend[i] as? NSDictionary
  144.                 {
  145.                 //if let data_object = data_array[i] as? NSDictionary
  146.                    
  147.                 print(dictStudAttend, i)
  148.                     if let data_code = data_object["attend_date"] as? String
  149.                        
  150.                        
  151.                     {
  152.                         list.append(MyStruct(data_code))
  153.                     }
  154.                    
  155.                 }
  156.             }
  157.         }
  158.         catch
  159.         {
  160.             return
  161.         }
  162.        
  163.        
  164.        
  165.        
  166.         refresh_now()
  167.        
  168.        
  169.     }
  170.  
  171.  
  172.  
  173.    
  174.     func refresh_now()
  175.     {
  176.         DispatchQueue.main.async(
  177.             execute:
  178.             {
  179.                 self.table.reloadData()
  180.                
  181.         })
  182.     }
  183.  */
  184.    
  185.    
  186.    
  187.     public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
  188.     {
  189.        
  190.         return list.count
  191.     }
  192.    
  193.     public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
  194.     {
  195.         let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
  196.        
  197.        
  198.         cell.textLabel?.text = list[indexPath.row].attend
  199.        
  200.        
  201.         return cell
  202.     }
  203.    
  204.  
  205.    
  206.    
  207.    
  208.     @IBAction func logoutBtn(_ sender: Any) {
  209.         UserDefaults.standard.set(nil, forKey: "username");
  210.         UserDefaults.standard.set(nil, forKey: "password");
  211.         UserDefaults.standard.synchronize()
  212.        
  213.         let username = UserDefaults.standard.string(forKey: "username");
  214.         let password = UserDefaults.standard.string(forKey: "password");
  215.        
  216.         if(username == nil && password == nil){
  217.            
  218.             performSegue(withIdentifier: "loginPage", sender: self)
  219.            
  220.         }
  221.     }
  222.  
  223.    
  224.    
  225.    
  226.    
  227.  
  228.     /*
  229.     // MARK: - Navigation
  230.  
  231.     // In a storyboard-based application, you will often want to do a little preparation before navigation
  232.     override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  233.         // Get the new view controller using segue.destinationViewController.
  234.         // Pass the selected object to the new view controller.
  235.     }
  236.     */
  237.  
  238. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement