Swift ဟာ အခုအချိန်မှာ အတော်လေးကို stable ဖြစ်နေပါပြီ။ Swift ကို သုံးပြီးရေးတဲ့ အခါမှာ အသုံးဝင်မယ့် library အချို့ ကို ဖော်ပြလိုက်ပါတယ်။
Objective-C သုံးခဲ့တုန်းက AFNetworking ကို သုံးဖူးမယ်ထင်ပါတယ်။ AFNetworking Developer Mattt Thompson က Swift အတွက် Alamofire ဆိုပြီး ဖန်တီးထားပါတယ်။
Feature တွေကတော့
အသုံးပြုပုံတွေကတော့
import Alamofire
Alamofire.request(.GET, "http://httpbin.org/get")
Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])
.response { (request, response, data, error) in
println(request)
println(response)
println(error)
}
အသေးစိတ်ကတော့ Alamofire ရဲ့ Github စာမျက်နှာ ဖတ်နိုင်ပါတယ်။
Swift မှာ JSON ကို အသုံးပြုတဲံအခါမှာ Objective-C မှာလို လွယ်လွယ်သုံးလို့ မရပါဘူး။ ဥပမာ code လေးကို ကြည့်ကြည့်ပါ။
let jsonObject : AnyObject! = NSJSONSerialization.JSONObjectWithData(dataFromTwitter, options: NSJSONReadingOptions.MutableContainers, error: nil)
if let statusesArray = jsonObject as? NSArray{
if let aStatus = statusesArray[0] as? NSDictionary{
if let user = aStatus["user"] as? NSDictionary{
if let userName = user["name"] as? NSDictionary{
//Finally We Got The Name
}
}
}
}
ဒါမှမဟုတ် optional ကို အသုံးပြုပြီးတော့ ရေးနိုင်ပါတယ်။
let jsonObject : AnyObject! = NSJSONSerialization.JSONObjectWithData(dataFromTwitter, options: NSJSONReadingOptions.MutableContainers, error: nil)
if let userName = (((jsonObject as? NSArray)?[0] as? NSDictionary)?["user"] as? NSDictionary)?["name"]{
//What A disaster above
}
တကယ်လို့ SwiftyJSON ကိုသာ အသုံးပြုမယ်ဆိုရင်
let json = JSON(data: dataFromNetworking)
if let userName = json[0]["user"]["name"].string{
//Now you got your value
}
ဆိုပြီး ရှင်းရှင်းလင်းလင်း ရေးနိုင်ပါတယ်။
တကယ်လို့ optional အတွက် ဆိုရင် အောက်ကလို ရေးနိုင်ပါတယ်။
let json = JSON(data: dataFromNetworking)
if let userName = json[999999]["wrong_key"]["wrong_name"].string{
//Calm down, take it easy, the ".string" property still produces the correct Optional String type with safety
} else {
//Print the error
println(json[999999]["wrong_key"]["wrong_name"])
}
github မှာ SwiftyJSON ကို download ချနိုင်ပါတယ်။
Swift မှာ cache ကို အသုံးပြုချင်ရင်တော့ HanekeSwift ကို အသုံးပြုနိုင်ပါတယ်။ light weight ဖြစ်ပြီးတော့ UIImage , NSData , JSON , String စတာတွေကို သိမ်းထားနိုင်ပါတယ်။
URL request လုပ်ပြီး cache ပါ သိမ်းထားချင်တယ်ဆိုရင် အောက်ကလို မျိုး အသုံးပြုနိုင်ပါတယ်။
let cache = Cache<JSON>(name: "github")
let URL = NSURL(string: "https://api.github.com/users/haneke")!
cache.fetch(URL: URL).onSuccess { JSON in
println(JSON.dictionary?["bio"])
}
Key value storage အနေနဲ့ သိမ်းချင်ရင်တော့
let cache = Shared.dataCache
cache.set(value: data, key: "funny-games.mp4")
// Eventually...
cache.fetch(key: "funny-games.mp4").onSuccess { data in
// Do something with data
}
ဆိုပြီး သိမ်းနိုင်ပါတယ်။
အသေးစိတ်ကိုတော့ github မှာ ဖတ်နိုင်ပါတယ်။