Swift3 從入門到精通Day23:使用者產生器(1/2)

Alice
Daily Swift
Published in
6 min readJul 7, 2017

時間:7/7(五)

作品:連接API的使用者產生器

作品簡述:利用網路API抓到隨機使用者資訊,呈現在APP上,使用開放式資料運用感覺是很棒的功能,應用層面很廣泛也很重要!

心得

最近在中國上海參加兩峽杯,12天網路只有3G,所以把教學影片下載到電腦裡慢慢看,不過活動很多都要等半夜室友睡了才開始寫code。

昨天遇到bug整個crash無解救不了之後,學到教訓,到段落用新檔來存進度,確保階段性正確。之前考日檢看書暫停了一陣子接下來會持續更新的!

看了彼得潘的書「Swift 程式設計入門」雖然是2015的書應該跟現在版本不同,但有釐清很多概念,敘述方式也很生動希望可以趕快寫新書,很期待。

API就是Application Programming Interface

就很像網站提供我們很多函式

很多地方都有提供API:Google APIPIXNET API天氣API

這次我們要使用的API是randomuser.me會隨機提供我們使用者資訊

輸入https://randomuser.me/api在網站上會拿到

像這樣的資訊,格式是網路傳送資料的格式之一JSON。

複製這裡的內容,貼到jason pretty print

這網站就會將剛才黏再一起JSON資料分行。其實對機器而言這兩行資料都沒有差,只是分行後對於人類較容易理解。

第一步:連結網站應用程式:確認網站提供我們想要的資料

第二步:用假資料試做

建構頁面

點選View Controller然後建立Navigation Controller後命名
完成這個部分就可以顯示以下的畫面

但上面的setting還是黑色所以想改成白色

但因為現在ViewController包在NavigationController裡面所以要修改NavigationController

所以先用建立一個WhiteNavigationController.swift

選擇WhiteNavigationController.swift
將這串程式碼輸入再WhiteNavigationController.swift
上面設定欄為黑色就轉變成白色
Height設為300設定auto layout
高度要做螢幕跟大小的等高所以先選擇圖+conttol+選擇equal widths
667為iphone高度做300:667的比例設置然後在lable命名為Top Red View

讓圖片從方形變圓型

要寫code才能從圖片變圓型喔
  1. 匯入圖片
  2. 設定auto layout
  3. 把圖片連結到程式碼後輸入viewDidLoad下

4.點選圖片,將Clip To Bounds打勾

5.但其實因為在viewDidLoad裡沒有很圓,畫面讀入時會執行的程式碼,但當時畫面大小還沒完全確定所以會造成這樣的情況。用viewDidAppear解決這個狀況,畫面顯示在螢幕上的時候畫面的大小都決定了,這樣就會很圓。

在storyboard顯示固定內容的table view

  1. 新增container view設定autolayout

2.把container view附帶的小視窗刪除了新增Table View controllerb然後連結後選擇Embed連結後

3.依照下列步驟

選擇Static Cells後
會有三列

4.改成兩列

改成2就可以了
我把註解都打在裡面拉!

但是除了姓名,電話與信箱是在Table View Controller上

所以要幫他建立子類別才能用程式碼控制。

新增UITableViewController然後連結,像下圖。

然後我就遇到bug拉!又是這個熟悉又無解的bug!

google後還是解不開,如果有人會可以在下面留言嗎,非常感謝你😢

因為Xcode會自動存檔即使我一直按command+Z退到剛開始是中顯示錯誤訊息,然後我就全部重打了,花了蠻長的時間。

省略很多步驟後假資料套用成功了!

--

--