DAY 21 『 连接 API 实作 - 天气 APP 』Part3

昨天已经把 struct 写好了,今天来呈现资料在手机画面上。


刻好画面後,在 ViewController.swift ( MainVC.swift ) 加入程序码

@IBOutlet weak var backgroundImage: UIImageView!
@IBOutlet weak var locationName: UILabel!
@IBOutlet weak var pop: UILabel!
@IBOutlet weak var maxT: UILabel!
@IBOutlet weak var minT: UILabel!
@IBOutlet weak var wx: UILabel!
@IBOutlet weak var otherCitys: UIButton!

拉完线後程序码长这样

p.s.

  1. 「 ℃ 」这个符号,可以按 control + command + 空白,往找到类字母符号的分类,就会有这个温度单位的符号可以使用罗!
  2. 可透过此连结查询 API 因子的中英对照,方便自己刻 UI:预报因子栏位中文说明表

将所需图片加入 Assets.xcassets 里

依据舒适度( wx )搭配适合的 weather Icon

func descriptionToImage () {
        if wx.text!.contains("雨") {
            if wx.text!.contains("雷") { backgroundImage.image = UIImage(named: "rain1") }
            else if wx.text!.contains("晴") { backgroundImage.image = UIImage(named: "rain2") }
            else { backgroundImage.image = UIImage(named: "rain3") }
        }
        else if wx.text!.contains("晴") {
            if wx.text!.contains("云") { backgroundImage.image = UIImage(named: "sunnycloud1") }
            else { backgroundImage.image = UIImage(named: "sunnycloud2") }
        }
        else if wx.text!.contains("阴") { backgroundImage.image = UIImage(named: "cloud") }
        else if wx.text!.contains("云") { backgroundImage.image = UIImage(named: "cloudsunny") }
    }

创一个 TableView 画面,提供使用者选择城市
在专案底下 New Group / New File / 选 Cocoa Touch Class

宣告城市

struct Citys {
    var taiwanCityName: String
}
 var cityitem = [
        Citys(taiwanCityName: "宜兰县"),Citys(taiwanCityName: "花莲县"),
        Citys(taiwanCityName: "台东县"),Citys(taiwanCityName: "澎湖县"),
        Citys(taiwanCityName: "金门县"),Citys(taiwanCityName: "连江县"),
        Citys(taiwanCityName: "台北市"),Citys(taiwanCityName: "新北市"),
        Citys(taiwanCityName: "桃园市"),Citys(taiwanCityName: "台中市"),
        Citys(taiwanCityName: "台南市"),Citys(taiwanCityName: "高雄市"),
        Citys(taiwanCityName: "基隆市"),Citys(taiwanCityName: "新竹县"),
        Citys(taiwanCityName: "新竹市"),Citys(taiwanCityName: "苗栗县"),
        Citys(taiwanCityName: "彰化县"),Citys(taiwanCityName: "南投县"),
        Citys(taiwanCityName: "云林县"),Citys(taiwanCityName: "嘉义县"),
        Citys(taiwanCityName: "嘉义市"),Citys(taiwanCityName: "屏东县")
    ]

TableView Delegate、DataSource

extension TableViewVC: UITableViewDelegate,UITableViewDataSource{
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return cityitem.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cityCell", for: indexPath) as! TableViewCell
        let city = cityitem[indexPath.row]
        cell.cityName.text = city.taiwanCityName
        return cell
    }
    func numberOfSections(in tableView: UITableView) -> Int { return 1 }
}

程序码说明

在的 viewDidLoad() 里记得加上

cityTableView.delegate = self
cityTableView.dataSource = self

明天会介绍如何辨别点选到哪一个城市,以及将城市天气资讯呈现在手机上

敬请期待!


<<:  【Day22】[演算法]-选择排序法Selection Sort

>>:  27. 解释 CSS 的 BFC(Block Formatting Context)

企划实现(25)

在fragment里面使用元件 常常在写程序时会遇到再fragment抓不到元件的事情 用这个方式就...

模型的内容02 __main__

请用 VS CODE (或其他习惯的IDE)开启 nni\examples\trials\mnist...

使用MLFlow tracking功能比较training结果

在上一篇我们已经完成MLFlow的安装, 这篇我们就来说明如何在jupyter notebook里整...

Day 3 就是你了!

有时候,我们都太天真的想像着美好,然而降临我们面前的不只是美好,有时是想不到的冲突,或者双方同时出现...

客户抱怨 v.s. 客户开发

自从到了美国之後,原本预期要来好好开发海外市场的,果然事情没有这麽顺利,既有客户所遇到的 Bug 跟...