美文网首页iOS Developer
Swift常用的技巧

Swift常用的技巧

作者: dispath_once | 来源:发表于2017-07-02 20:47 被阅读32次
    • 拿到当前类名let className = String(describing: type(of: self))
    • swift3.0之后NSNotification name已经修改成NSNotification.Name结构体了,建议定义的时候直接定义为常量static let kUpdateUserInfo = NSNotification.Name("kUpdateUserInfo")
    • Alamofire上传图片同时携带参数
        func uploadfile(_ url :String,par :Dictionary<String,Any>? = nil,filedata :Data? = nil,fileName :String = "iamge.png", call :NetWorkFinishCall?){
            Alamofire.upload(multipartFormData: { (MultipartFormData) in
                if filedata != nil{
                    MultipartFormData.append(filedata!, withName: "file", fileName: fileName, mimeType: "image/png");
                }
                if par != nil{
                    for (key,value) in par!{
                        MultipartFormData.append((value as! String).data(using: .utf8)!, withName: key)
                    }
                }
            }, to:NetWorkTool.shareInstance.BaseUrl! + APPDefine.APIDefine.register) { (result) in
                switch result{
                case .success(let upload,_,_):
                    upload.responseJSON(completionHandler: { (data) in
                        if let block = call{
                            if let error = data.error{
                            }
                            let jsonObj = JSON(data:data.data!)
                            block((data.error == nil),jsonObj,data.error)
                        }
                    })
                    break
                case .failure(let error):
                    if let block = call{
                        block(false,nil,error)
                    }
                    break
                }
            }
        }
    
    • private(set) var a :String!;修饰为对外只读对内可读可写。
    • 定义接口的时候方法定义尽量考虑使用mutating修饰,以保证该方法在struceenum中能够修改自己的变量;mutatingclass是无效的。

    相关文章

      网友评论

        本文标题:Swift常用的技巧

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