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


此篇文章记录一下自学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心得之学习过程中遇到的问题(二)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,332评论 4 61
  • 晚上刷朋友圈时,看到了你新发的一首K歌,好久没见了竟然连你的声音都已经忘记了,听起来那么的陌生却还是会难过,因为知...
    师梓楦阅读 3,118评论 0 0
  • 一、资料 你不知道的事。 你将来会用得到的东西。 二、思考 你的问题。 你的答案。(分析、总结) 你的创意。 ★笔...
    sly61阅读 3,998评论 0 2
  • 这是一封两年前写给母亲的信。本来想夹在包裹里一起寄给母亲的。先生说此信先放一放吧。建议最好别寄! 今天看来是正确的...
    禅静一生阅读 3,375评论 11 14