#5 10YearChallenge,時間都去哪了

#5 文字的縮放和字數 — UISlider & UITextField 練習

本次作業重點:
get flickr API key
DatePicker與Slider連動
時間自動快轉的照片輪播功能(Timer)

心很累的Debug流水帳:(一直做不出想要的功能擱置了很久…)
*get flickr API key
text:比較開放的搜尋條件
tags:放人名準確度比較高
最後決定demo “Emma watson”and “Jennifer Aniston” during 2008~2017取得的照片比較美~

*抓圖“Emma watson” during 2001~2010會閃退,抓圖“cat” 不會閃退,能顯示圖片:因為flickr資料抓不完全(有的年份無資料),photos = [],當使用photos = [0]會閃退(改抓圖2011~2020)

FAIL
get Json From Flickr done
78 bytes
SearchData(photos: _0yearChallenge.PhotoData(photo: []))
PhotoData(photo: [])
PASS
get Json From Flickr done
234 bytes
SearchData(photos: _0yearChallenge.PhotoData(photo: [_0yearChallenge.Photo(farm: 2, secret: "ac1cbc7df5", id: "687741066", server: "1073", title: "Harry Potter & Jane")]))
PhotoData(photo: [_0yearChallenge.Photo(farm: 2, secret: "ac1cbc7df5", id: "687741066", server: "1073", title: "Harry Potter & Jane")])

*抓圖存到photos[],沒有按照年份排列,感覺是按照下載完成順序排列
參考同學的作業,先把預設資料放入array,改用yearIndex來搭配array的remove/insert把資料照順序放入

FAIL
self.photos.append(contentsOf: searchData.photos.photo)
PASS
let photoInit = Photo(farm: 0, secret: "0", id: "0", server: "0", title: "0")
photos = [Photo](repeating: photoInit, count: 10)
for yearIndex in 1...10{
...略...
self.photos.remove(at: yearIndex-1)
self.photos.insert(contentsOf: searchData.photos.photo, at: yearIndex-1)
...略...
}

*API回傳的結果,沒有圖片url的話就放預設的圖檔
我這邊的做法是,沒有圖片url的話,array.insert會fail,檢查當array.count不正確時,就insert一個預設的資料,圖片顯示時放預設的圖檔

GitHub:

--

--