整理swift第三库及相关讲解(一)

前端之家收集整理的这篇文章主要介绍了整理swift第三库及相关讲解(一)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

开头:swift每天都在变的越来越流行,苹果公司也在不断的更新,如果你正开始一个新项目或者在ios开发行业不落后,你应该学习掌握如何使用swift。为了你转变(从iOS转swift)更容易和节省你的时间,下面是我将自己整理的相关资料奉上。


1.CocoaPods

和OC的用法差不多,只是在Podfile文件中有差别,需要多添加use_frameworks!”,作用是把三方库打包成静态库

source 'https://github.com/CocoaPods/Specs.git'
platform :ios,'10.0'
use_frameworks!
target ‘SwiftTest’ do
   
end

相关文章http://www.jb51.cc/article/p-yeczevzf-bgc.html

http://blog.csdn.net/lifeng__/article/details/52583341


2.Alamofire

Alamofire的前身是AFNetworking,其实AFNetwork的前缀AF便是Alamofire的缩写。当你想要抽象简化App中的网络请求时,Alamofire是你需要的,Alamofire是一个Http网络请求库,构建在NSURLSession和基础URL加载系统之上,它用简单优雅的接口很好的封装了网络请求。可以使用Cocoapods导入到项目工程中。

Alamofire.request("http://api-test/v2/user/recomlist",method: .post,parameters: ["userid":"218"],encoding: JSONEncoding.default,headers: nil).responseJSON { (response:DataResponse<Any>) in
            switch(response.result) {
            case .success(_):
                if let data = response.result.value{
                    print(response.result.value)
                    let dict:NSDictionary = response.result.value as! NSDictionary
                    for tmp:NSDictionary in dict.value(forKey: "data") as! [NSDictionary]{
                        let contactModel = ContactModel.init(dict: tmp)
                        self.dataArray.append(contactModel)
                    }
                    self.tableView?.reloadData()
                }
                break
                
            case .failure(_):
                print(response.result.error)
                break
                
            }
        }

3.ImagHelper

ImageHelper(原来叫AFImageHelper)是使用Swift语言编写的处理图片的类库,通过对UIImageUIImageView的扩展。使其增加了对图片的压缩、颜色、渐变、裁剪等操作方法,以及支持使用缓存从网站上获取图片

(1)从GitHub上把最新代码下载下来,地址:https://github.com/melvitax/ImageHelper
(2)将ImageHelper.swiftImageVIewExtension.swift添加到项目中即可
<span style="font-size:14px;">headerImageView.imageFromURL(model.image!,placeholder: UIImage.init(named: "btn_foot_bussines")!)</span>

相关文章http://www.hangge.com/blog/cache/detail_975.html

4.SwiftyJSON

swift的Explicit types(显示类型)可以确保我们不会在代码中犯错和出现bug。但是有时处理起来还是比较麻烦,特别是和JSON打交道的时候。幸运的是,SwiftyJSON提供了可读性更好的方式帮我们处理JSON数据。还提供了可选的自动解析!

// Typical JSON handling
if let statusesArray = try? NSJSONSerialization.JSONObjectWithData(data,options: .AllowFragments) as? [[String: AnyObject]],let user = statusesArray[0]["user"] as? [String: AnyObject],let username = user["name"] as? String {
}

// With SwiftyJSON
let json = JSON(data: dataFromNetworking)
if let userName = json[0]["user"]["name"].string {
  //Now you got your value
}

SwiftyJson也可以很好的和Alamofire配合使用。

Alamofire.request(.GET,url).validate().responseJSON { response in
    switch response.result {
    case .Success:
        if let value = response.result.value {
          let json = JSON(value)
          print("JSON: \(json)")
        }
    case .Failure(let error):
        print(error)
    }
}


5.ObjectMapper

如果你写过一个通过API获取信息的app,你可能需要花大量时间写代码把你的响应结果映射为你的object。ObjectMapper可以帮你把JSON格式响应结果转换成你的model对象,反之亦然。换句话说,它帮你把JSON映射成对象,也可以把对象转换成JSON。嵌套的对象也支持

// Temperature class that conforms to Mappable protocol

struct Temperature: Mappable {
    var celsius: Double?
    var fahrenheit: Double?

    init?(_ map: Map) {

    }

    mutating func mapping(map: Map) {
        celsius      map["celsius"]
        fahrenheit   map["fahrenheit"]
    }
}

AlamofireObjectMapper也值得提一下,一个Alamofire的扩展使用ObjectMapper将JSON响应数据转换成swift对象。

猜你在找的Swift相关文章