Swift封装的基本功能详解
在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参数不能为(0,0)
- 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开发笔记