用Swift语言 来写表格
来源:互联网 发布:广发淘宝卡新规则 编辑:程序博客网 时间:2024/05/22 02:17
//在AppDelegate 文件中UIViewController,UITableViewDataSource,UITableViewDelegate { var datas:Array<News>? var tableView:UITableView? func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let onenNews = self.datas?[indexPath.row] let detailVC = DetailViewController() detailVC.detailURL = onenNews?.weburl self.navigationController?.pushViewController(detailVC, animated: true) } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if let count = datas?.count { return count } return 0 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let str = "identifier" var cell = tableView.dequeueReusableCell(withIdentifier: str) if cell == nil { cell = UITableViewCell.init(style: UITableViewCellStyle.subtitle, reuseIdentifier: str) }// let newsDic = self.datas?[indexPath.row] as!// Dictionary<String,String>// // cell?.textLabel?.text = newsDic["title"]// // cell?.detailTextLabel?.text = newsDic["time"] let oneNew = self.datas![indexPath.row] cell?.textLabel?.text = oneNew.title cell?.detailTextLabel?.text = oneNew.time return cell! } override func viewWillAppear(_ animated: Bool) { self.getURLDatas() } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. tableView = UITableView.init(frame: self.view.frame, style: UITableViewStyle.plain) tableView?.dataSource = self tableView?.delegate = self self.view.addSubview(tableView!) } func getURLDatas() -> Void { let appkey = "de394933e1a3e2db" let urlStr = "http://api.jisuapi.com/news/get?channel=头条&start=0&num=20&appkey=\(appkey)"// let urlString = urlStr.addingPercentEncoding(withAllowedCharacters: CharacterSet(charactersIn: "`#%^{}\"[]|\\<> ").inverted) let url = URL(string:urlStr.addingPercentEscapes(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))!) print(url) let request = URLRequest(url: url!, cachePolicy: URLRequest.CachePolicy.reloadIgnoringCacheData, timeoutInterval: 15.0) let session = URLSession.shared let task = session.dataTask(with: request) { (data, response, error) in if error != nil { print("错误") return } let obj = try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments) as! Dictionary<String,Any> print(obj) let result = obj["result"] as! Dictionary<String,Any> let list = result["list"] as! Array<Any> var newsArr:[News]? = [] for item in list { let newsDic = item as! Dictionary<String,String> let oneNew = News() oneNew.title = newsDic["title"] oneNew.time = newsDic["time"] oneNew.url = newsDic["url"] oneNew.weburl = newsDic["weburl"] newsArr?.append(oneNew) } self.datas = newsArr //回到Ui主线程刷新表格 DispatchQueue.main.async(execute: { self.tableView?.reloadData() }) } task.resume() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. }**## 标题 ##//在StudentsViewController 文件中-----------------------------**UIViewController,UITableViewDataSource { var studentsData:[String]? override func viewDidLoad() { super.viewDidLoad() studentsData = ["大川","建军","光辉","枕头"] let table = UITableView.init(frame: self.view.frame, style: UITableViewStyle.plain) table.dataSource = self self.view.addSubview(table) // Do any additional setup after loading the view. } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if let count = self.studentsData?.count { return count } return 0 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let str = "identifier" var cell = tableView.dequeueReusableCell(withIdentifier: str) if cell == nil { cell = UITableViewCell.init(style: UITableViewCellStyle.default, reuseIdentifier: str) } cell?.textLabel?.text = self.studentsData?[indexPath.row] return cell! }**## 标题 ##//在MyUIViewController 文件中-----------------------------**UIViewController,UITextFieldDelegate { var myLable:UILabel = UILabel.init(frame: CGRect(x: 30, y: 80, width: 100, height: 30)) var myBtn:UIButton? var textFiled:UITextField? var btnTitle = false override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. myLable.textColor = UIColor.red myLable.textAlignment = .center myLable.backgroundColor = UIColor.yellow myLable.text = "北京天安门" myLable.font = UIFont.boldSystemFont(ofSize: 16) self.view.addSubview(myLable) self.btnTitle = true myBtn = UIButton.init(type: UIButtonType.roundedRect) myBtn?.frame = CGRect(x: 20, y: 120, width: 100, height: 30) myBtn?.setTitle("播放", for: UIControlState.normal) myBtn?.setTitleColor(UIColor.blue, for: UIControlState.normal) myBtn?.setTitle("暂停", for: UIControlState.selected) myBtn?.setTitleColor(UIColor.red, for: UIControlState.selected) myBtn?.addTarget(self, action: #selector(btnPress(sender:)), for: UIControlEvents.touchUpInside) self.view.addSubview(myBtn!) textFiled = UITextField.init(frame: CGRect(x: 20, y: 200, width: 160, height: 50)) textFiled?.placeholder = "请输入账号" textFiled?.borderStyle = .line textFiled?.textAlignment = .center textFiled?.textColor = UIColor.red textFiled?.keyboardType = .default textFiled?.clearButtonMode = .whileEditing textFiled?.clearsOnBeginEditing = true textFiled?.isSecureTextEntry = false textFiled?.autocapitalizationType = .allCharacters //全部大写 textFiled?.delegate = self self.view.addSubview(textFiled!) } func btnPress(sender:UIButton) -> Void { sender.isSelected = !sender.isSelected } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { super.touchesBegan(touches, with: event) self.view.endEditing(true) } func textFieldShouldReturn(_ textField: UITextField) -> Bool { textFiled?.resignFirstResponder() return true } func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { //获取目前textfield控件中的文本 let text = textField.text var newText = (text! as NSString).replacingCharacters(in: NSMakeRange(range.location, range.length), with: string) return newText.characters.count <= 8; }**## 标题 ##//在NewsViewController 文件中-----------------------------**UIViewController,UITableViewDataSource,UITableViewDelegate { var datas:Array<News>? var tableView:UITableView? func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let onenNews = self.datas?[indexPath.row] let detailVC = DetailViewController() detailVC.detailURL = onenNews?.weburl self.navigationController?.pushViewController(detailVC, animated: true) } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if let count = datas?.count { return count } return 0 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let str = "identifier" var cell = tableView.dequeueReusableCell(withIdentifier: str) if cell == nil { cell = UITableViewCell.init(style: UITableViewCellStyle.subtitle, reuseIdentifier: str) }// let newsDic = self.datas?[indexPath.row] as!// Dictionary<String,String>// // cell?.textLabel?.text = newsDic["title"]// // cell?.detailTextLabel?.text = newsDic["time"] let oneNew = self.datas![indexPath.row] cell?.textLabel?.text = oneNew.title cell?.detailTextLabel?.text = oneNew.time return cell! } override func viewWillAppear(_ animated: Bool) { self.getURLDatas() } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. tableView = UITableView.init(frame: self.view.frame, style: UITableViewStyle.plain) tableView?.dataSource = self tableView?.delegate = self self.view.addSubview(tableView!) } func getURLDatas() -> Void { let appkey = "de394933e1a3e2db" let urlStr = "http://api.jisuapi.com/news/get?channel=头条&start=0&num=20&appkey=\(appkey)"// let urlString = urlStr.addingPercentEncoding(withAllowedCharacters: CharacterSet(charactersIn: "`#%^{}\"[]|\\<> ").inverted) let url = URL(string:urlStr.addingPercentEscapes(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))!) print(url) let request = URLRequest(url: url!, cachePolicy: URLRequest.CachePolicy.reloadIgnoringCacheData, timeoutInterval: 15.0) let session = URLSession.shared let task = session.dataTask(with: request) { (data, response, error) in if error != nil { print("错误") return } let obj = try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments) as! Dictionary<String,Any> print(obj) let result = obj["result"] as! Dictionary<String,Any> let list = result["list"] as! Array<Any> var newsArr:[News]? = [] for item in list { let newsDic = item as! Dictionary<String,String> let oneNew = News() oneNew.title = newsDic["title"] oneNew.time = newsDic["time"] oneNew.url = newsDic["url"] oneNew.weburl = newsDic["weburl"] newsArr?.append(oneNew) } self.datas = newsArr //回到Ui主线程刷新表格 DispatchQueue.main.async(execute: { self.tableView?.reloadData() }) } task.resume() }DetailViewController **## 创建 OC 的 工程 ##//在DetailViewController.h 文件中-----------------------------** @property(nonatomic,strong)NSString *detailURL; // **## 创建 OC 的 工程 ##//在DetailViewController.m 文件中-----------------------------**- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; NSString *urlStr = [self.detailURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];// urlStr = [self.detailURL stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet]; NSURL *url = [NSURL URLWithString:urlStr]; NSURLRequest *req = [NSURLRequest requestWithURL:url]; [self.webView loadRequest:req];}**## 创建 OC 的 工程 ##// 继承: NSObject 在News.h 文件中-----------------------------**@property(nonatomic,strong)NSString *title;@property(nonatomic,strong)NSString *time;@property(nonatomic,strong)NSString *url;@property(nonatomic,strong)NSString *weburl;
阅读全文
0 0
- 用Swift语言 来写表格
- 用Markdown写表格
- 用markdown写表格
- 分别用C语言和Java来写九九乘法表
- 漫画:如果用编程语言来写作文
- 漫画:如果用编程语言来写作文
- 漫画:如果用编程语言来写作文
- 世界杯来了!用Swift语言下的View控件实现一个德国的国旗
- 掀起你的盖头来——Swift语言
- swift语言,写的一个简单手势密码锁
- 用ultraedit来写php
- 用TC来写系统
- 用Jython来写SERVLET!!
- 用JQuery来写Ajax
- 用java来写ACM
- 用程序来写程序
- 用shell来写脚本
- 用shell来写脚本
- apriori算法 python实现
- Java 集合深入理解(6):AbstractList
- windows版的redis的启动方法
- 二手房买卖银行迟迟不放款,买房人构成违约吗?
- linux中tar命令大全以及远程文件的复制和印刷
- 用Swift语言 来写表格
- python3将接收到的json数据存入数据库【mysql】
- Centos下PPTP环境部署记录
- 一次简单的存储过程以及定时任务设置
- 字典序
- 面向对象的 七种设计原则 (整理)
- Vue.JS
- Contentprovider修改表两个Demo
- nodejs中函数共享作用域导致的内存泄漏