Swift51.com
麦子学院 头像
麦子学院  2016-09-19 23:14

Swift封装的基本功能详解

回复:0  查看:2717  

iOS开发中,如果要完全从OC迁移到Swift,部分框架现在是没有Swift版的,虽然Swift语言可以和OC混编,但是,但是我个人不喜欢在两种语言之间切换(除非实在没办法,否则我尽可能的用Swift,相信我,如果看了Swift之后80%的可能你会喜欢上她的),所有用Swift封装一些基本的功能。

 

就三个方法:

/**

    普通的网络接口 使用闭包传值,闭包定义格式:类型为函数类型 如果创建网络请求有错误则返回false 创建成功的网络请求 会返回true

 

    - parameter baseurl:         这个参数和下面的pathurl参数拼接为一个完整的url

    - parameter pathUrl:

    - parameter paramas:         存放了所有需要上传字段的字典

    - parameter completionblock: 网络请求处理回调闭包

    - parameter errorBlock:      错误闭包处理

    

    - returns: 创建请求失败返回false,否则反之

    */

class func postMethod_CommonNetWorkingRequest( baseUrl baseurl:String,pathUrl:String, paramas:NSDictionary,completionblock:(anyObject:AnyObject)->Void,errorBlock:(error:NSError)->Void) ->Bool

 

 /**

    携带任意多个参数的单张图片上传

    

    - parameter baseurl:         <#baseurl description#>

    - parameter pathUrl:         <#pathUrl description#>

    - parameter paramas:         <#paramas description#>

    - parameter image:           需要上传的图片

    - parameter completionBlock: <#completionBlock description#>

    - parameter errorBlock:      <#errorBlock description#>

    

    - returns: <#return value description#>

    */

    class func postMethod_SingleImageUploadToServer(baseURL baseurl:String,pathUrl:String,paramas:NSDictionary,image:UIImage,completionBlock:(anyobject:AnyObject)->Void,errorBlock:(error:NSError)->Void) -> Bool

 

/**

    携带任意多个参数和任意多张图片上传

    

    - parameter baseurl:         <#baseurl description#>

    - parameter pathUrl:         <#pathUrl description#>

    - parameter paramas:         <#paramas description#>

    - parameter images:          UIImage对象数组

    - parameter compress:        图片是否压缩,如果要压缩,imageScale参数不能为(00)

    - parameter imageScale:      压缩之后的尺寸

    - parameter completionBlock: <#completionBlock description#>

    - parameter errorBlock:      <#errorBlock description#>

    

    - returns: <#return value description#>

    */

    class func postMethod_ManyImageUploadToServer(baseURL baseurl:String,pathUrl:String,paramas:NSMutableDictionary,images:NSArray,compress:Bool,imageScale:CGSize,completionBlock:(anyobject:AnyObject)->Void,errorBlock:(error:NSError)->Void) -> Bool

 

//最后说一下,有些后台的接口没把需要的字段放在方法行参里面而是直接从url后面取的,这种情况需要自己把参数放在URL后面,否则后台去不到参数。我封装的是放在请求体里面的,请注意。(ps:遇到过这个问题,还以为是自己传图片的格式写的不对,花了很多时间去找原因)

 

 

文章来源:iOS开发笔记