#swift 解析 Xml及webkit(一)

Drake
彼得潘的 Swift iOS / Flutter App 開發教室
5 min readSep 20, 2018

很久沒寫一些心得,這次練習的東西消化有點久,從網路上下載資料需要用到webkit去呈現資料

嘗試解析itune 的top 25 albums ,使用到的工具我是練習用UICollectionView去做呈現load到的xml資料,以及用wkwebview在第二頁去呈現取得的網址。

load的圖檔比較多會比較慢

第一個畫面:UICollectionView

先用假的資料製作CollectionView呈現的內容,CollectionView跟tableview很像,需要去服從協定才能呈現出內容UICollectionViewDelegate,UICollectionViewDataSource

服從這兩個協定可以實作下面三種方法分別是幾個section,section裡需要幾個item以及每個cell裡面要呈現什麼內容

註解掉的是一開始先用假資料去呈現collectionview,後面albumImage是我另外寫一個方法去處理xml取的的照片下載。

建立一個struct用object在這個頁面存取parser xml後的資料

這邊我用事先拉好的segue去傳值將address 傳到下一頁,再去處理下載的工作

記得在storyboard上設定segue ID

因為mycollection型別UICollectionView關西,所以我們可以用indexpath(for: )去找到點到的collection,如此便能將我們存在object裡的連結傳到第二個畫面進行下載。

第二個畫面:wkweb view

記得先import WebKit

將取得的網址(string)轉換成url,再將該變數轉換成URLRequest,讓我的mywebview去load這個request,就會自動將該網站以webview方式顯示出來

這裡有多拉一個元件UIActivityIndicatorView用來顯示下載尚未完成的時候,轉動的樣子,WKNavigationDelegate服從這個protocol

可以實作圖下面那兩個方法,分別是取的webview下載完成與否,並讓UIActivityIndicatorView開始結束動畫。

這樣做完大概可以顯示出以下畫面

不知不覺又得睡覺了XD,剩下的改天繼續,最近一直加班壓縮到練習時間,真的是很麻煩啊…

--

--

Drake
彼得潘的 Swift iOS / Flutter App 開發教室

2018/06/04 記錄自己前往成為開發者的道路,以及自己的學習筆記。