美文网首页
Swift心得之Swift中优秀的几个第三方库(一)

Swift心得之Swift中优秀的几个第三方库(一)

作者: 波妞和酱豆子 | 来源:发表于2017-06-12 18:18 被阅读242次

    此篇文章记录一下自学Swift的心得

    1.先从网络请求开始,在oc中常用的网络请求第三方是AFNetworking,而在swift中的第三方是Alamofire,这个第三方库就是swift版的AFNetworking,使用非常简单。

    GitHub地址:戳这里 - Alamofire

    下面有个简单的Alamofire封装 包含Post和Get请求 这个是最简单基本的封装 后期我会慢慢完善整体代码的

    import UIKit
    import Alamofire
    
    enum MethodType {
        case get
        case post
    }
    
    
    class NetworkTools {
        class func requestData(_ type : MethodType, URLString : String, parameters : [String : Any]? = nil, finishedCallback :  @escaping (_ result : Any) -> () ,error :  @escaping (_ result : Any) -> ()) {
            // 1.获取类型
            let method = type == .get ? HTTPMethod.get : HTTPMethod.post
            // 2.发送网络请求
            Alamofire.request(URLString, method: method, parameters: parameters).responseJSON { (response) in
                // 3.获取结果
                guard let result = response.result.value else {
                    print(response.result.error!)
                    error(response.result.error!)
                    return
                }
                // 4.将结果回调出去
                finishedCallback(result)
            }
        }
    }
    

    2.SnapKit 看到这个大家有可能会不认得 但是看到他你们就会很熟悉了

    import SnapKit
    
    class MyViewController: UIViewController {
    
        lazy var box = UIView()
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            self.view.addSubview(box)
            box.snp.makeConstraints { (make) -> Void in
               make.width.height.equalTo(50)
               make.center.equalTo(self.view)
            }
        }
    
    }
    

    是不是想起oc中的Masonry来了,这个SnapKit的使用方法和Masonry基本一样 会用Masonry的同学简单的看下SnapKit就可以立马上手了。
    来 这里是它的GitHub 戳这里 - SnapKit

    3.平时呢,在oc中大家常用的HUD都是“ MBProgressHUD”和“ SVProgressHUD”
    在swift中我找到一个比较简单好用的第三方 用法和SVProgressHUD一样

    import ZKProgressHUD
    
    ZKProgressHUD.show()
    DispatchQueue.global().asyncAfter(deadline: DispatchTime.now() + .seconds(3), execute: {
        DispatchQueue.main.async {
            ZKProgressHUD.dismiss()
        }
    })
    

    是不是很简单 这个第三方呢就戳这里 - ZKProgressHUD 这么优秀的第三方 大家在用的时候顺便给个star吧 在此先谢谢了

    4.接下来吐血推荐HandyJSON 在oc中很习惯的用MJExtension或者YYModel这些JSON转Model的第三方库 在swift中就突然懵逼了 后来经过不懈的努力知道了HandyJSON 先上代码看看 你们就知道多么好用了

    let jsonString = "{\"doubleOptional\":1.1,\"stringImplicitlyUnwrapped\":\"hello\",\"int\":1}"
    if let object = BasicTypes.deserialize(from: jsonString) {
        print(object.int)
        print(object.doubleOptional!)
        print(object.stringImplicitlyUnwrapped)
    }
    

    So easy 这个的地址在这HandyJSON

    好了 以上是几个比较不错的第三方库 接下来就说一下在使用swift过程中遇到的问题
    传送门在这里-> Swift心得之学习过程中遇到的问题(二)

    相关文章

      网友评论

          本文标题:Swift心得之Swift中优秀的几个第三方库(一)

          本文链接:https://www.haomeiwen.com/subject/iailqxtx.html