Swift3 從入門到精通Day23:使用者產生器(1/2)
時間:7/7(五)
作品:連接API的使用者產生器
作品簡述:利用網路API抓到隨機使用者資訊,呈現在APP上,使用開放式資料運用感覺是很棒的功能,應用層面很廣泛也很重要!
心得
最近在中國上海參加兩峽杯,12天網路只有3G,所以把教學影片下載到電腦裡慢慢看,不過活動很多都要等半夜室友睡了才開始寫code。
昨天遇到bug整個crash無解救不了之後,學到教訓,到段落用新檔來存進度,確保階段性正確。之前考日檢看書暫停了一陣子接下來會持續更新的!
看了彼得潘的書「Swift 程式設計入門」雖然是2015的書應該跟現在版本不同,但有釐清很多概念,敘述方式也很生動希望可以趕快寫新書,很期待。
API就是Application Programming Interface
就很像網站提供我們很多函式
很多地方都有提供API:Google API、PIXNET API、天氣API
這次我們要使用的API是randomuser.me會隨機提供我們使用者資訊
輸入https://randomuser.me/api在網站上會拿到
像這樣的資訊,格式是網路傳送資料的格式之一JSON。
複製這裡的內容,貼到jason pretty print。
這網站就會將剛才黏再一起JSON資料分行。其實對機器而言這兩行資料都沒有差,只是分行後對於人類較容易理解。
第一步:連結網站應用程式:確認網站提供我們想要的資料
第二步:用假資料試做
建構頁面
但上面的setting還是黑色所以想改成白色
但因為現在ViewController包在NavigationController裡面所以要修改NavigationController
所以先用建立一個WhiteNavigationController.swift
讓圖片從方形變圓型
- 匯入圖片
- 設定auto layout
- 把圖片連結到程式碼後輸入viewDidLoad下
4.點選圖片,將Clip To Bounds打勾
5.但其實因為在viewDidLoad裡沒有很圓,畫面讀入時會執行的程式碼,但當時畫面大小還沒完全確定所以會造成這樣的情況。用viewDidAppear解決這個狀況,畫面顯示在螢幕上的時候畫面的大小都決定了,這樣就會很圓。
在storyboard顯示固定內容的table view
- 新增container view設定autolayout
2.把container view附帶的小視窗刪除了新增Table View controllerb然後連結後選擇Embed連結後
3.依照下列步驟
4.改成兩列
但是除了姓名,電話與信箱是在Table View Controller上
所以要幫他建立子類別才能用程式碼控制。
新增UITableViewController然後連結,像下圖。
然後我就遇到bug拉!又是這個熟悉又無解的bug!
google後還是解不開,如果有人會可以在下面留言嗎,非常感謝你😢
因為Xcode會自動存檔即使我一直按command+Z退到剛開始是中顯示錯誤訊息,然後我就全部重打了,花了蠻長的時間。