1. 程式人生 > >Swift 建立屬於自己的框架到上線App

Swift 建立屬於自己的框架到上線App

本篇文章包含了開發一個App及釋出的大部分內容,有了本篇文章,大家再也不用東奔西跑的去找資料了,這裡面有開發App的完整資料及如何建立一個屬於自己的框架,這篇文章主要針對初學者,如果有寫的不好的地方,大家可以指出,希望和大家共同進步。 

先談下我對App的理解,無非就是發出資料請求,獲取後臺傳來的資料,然後體現在介面上。這樣也就是說我們我傳送網路的get或者是post請求,然後就是獲取到了資料,一般獲取到的資料有三種形式:1.json格式(其實在我眼裡就只有這一種) 2.xml格式 3.字串形式。獲得資料之後就是解析資料了,swift對於解析json資料也是非常簡單的,對於解析出來的資料,一般有兩種處理方式:1.使用本地資料持久化方式(通俗講也就是將資料存起來,存到手機上)。2.直接將資料顯示到介面上(不推薦,簡單的也可以這麼做啦)。在我眼裡,說白了,開發一個App其實就是在做上面重複的事情。下面就來詳細的講下如何來搭建屬於自己的框架。本篇是基於Xcode6.2,其實思路一樣

對於初學者來說,一般的網路請求,json資料簡析這些使用開源框架就可以了

第一步.網路請求框架 這裡使用的是YYHRequest-Swift這個開源框架。下載地址:https://github.com/yayuhh/YYHRequest-Swift大家可以自行去下載。有了框架,申請資料就方便多了。簡單的get,post方式申請資料:

1.get方式(data是資料,對其處理就好了)

let request = YYHRequest(url: NSURL(string: "http://www.google.com/"))

request.loadWithCompletion {response, data, error in

if let actualError = error {

// handle error

} else if let actualResponse = response {

// handle success

}

}

2.post方式:

let request = YYHRequest(url: NSURL(string: "http://www.google.com/"))

request.method = "POST"

request.parameters["foo"] = "bar"

request.completionHandler = { response, data, error in

// request complete!

}

request.loadRequest()

這樣申請網路資料就完成了,接下來就是解析資料了。

第二步.json資料解析框架 。SwiftyJSON這是一個使用極其普遍的開源框架,下載地址:https://github.com/lingoer/SwiftyJSON大家可以自行去下載,使用的話外面的文章實在是太多了,我就推薦一篇大家去看就OK了http://www.jianshu.com/p/ae9a579905e0這裡面已經寫出了使用方法,大家可以跟著裡面的例子進行測試。

在這裡插一下版本更新,蘋果公司是不允許直接更新app的,需要跳轉到App Store去自行下載,做出版本更新的思路就是:自己伺服器上放含有最新版本號的json資料,通過網路請求獲取json資料,解析json資料獲得最新版本號,與目前的版本號進行對比,判斷是否跳出提示更新的框,是的話就跳轉到App Store地址,因為自己寫篇幅就過長了,這裡也給出參考的文章,在這裡感謝曾給過幫助的朋友們!參考地址:http://www.jianshu.com/p/6f22f06261f5

上面兩個框架就可以解決很多問題了,下面當然要講下怎麼匯入上面這兩個框架了,這裡就簡述了,新建一個工程,比如Helloworld,然後將YYHRequest-Swift,SwiftyJSON中的.xcodeproj檔案拉到專案中去,然後點選自己的專案,這裡是Helloworld,然後點選General,然後往下拉,看到Embedded Binaries 下面有個加號,將這兩個框架新增進來就行了

到這裡就認為是框架匯入成功了。

第三步.介面的搭建,相信大家對基本的控制元件的使用應該沒什麼問題吧,如果有問題的話,推薦去下載IOS開發指南這本書的原始碼,然後怎麼去對應上內容,怎麼獲取PDF大家自己想辦法嘍,原始碼下載地址:http://www.51work6.com/forum.php?mod=viewthread&tid=1159&extra=page%3D1這裡面擁有所有基本控制元件簡單使用原始碼,只要合理利用,會有相當大的作用的。

第四步,資料持久化。這裡推薦http://www.jianshu.com/p/7616cbd72845其實在剛才推薦的下載的原始碼的第十一章ch11中講的非常清楚,Demo程式碼也非常適用。目前我用的就是修改Demo程式碼中的。

還有很中要的一點就是介面佈局,這點非常重要。因為現在iphone的螢幕尺寸種類多了,目前還是推薦使用自動佈局Auto Layout來對介面佈局推薦一個非常好的學習地址,相信看完這篇文章,佈局是一點問題都不會有了,寫得非常詳細https://lvwenhan.com/ios/430.html相信大家會有很大收穫的。

經過上面這些,框架基本是搭建起來了,下面就介紹一些開發一個App不可避免要用到的一些東西

1.IOS(swift)-scrollView(tableView) ·下拉重新整理上拉載入

2.動態啟動介面(有需要時用)

3.純程式碼寫的tab bar

4.app的引導頁

5.自定義tab bar 並帶有動畫

6.使用ShareSDK完成第三方分享功能

TableView是一個非常重要,比其他基本控制元件要複雜一點的控制元件,在上面下載的原始碼的第六章完整的介紹了基本用法。

如果有寫的不對的地方,還請指出,我會及時修改。寫得不好的地方還請大家見諒,需要大家的支援。



文/Jerry沈(簡書作者)
原文連結:http://www.jianshu.com/p/46bc8cf37cae
著作權歸作者所有,轉載請聯絡作者獲得授權,並標註“簡書作者”。