GithubHelp home page GithubHelp logo

zkkliveapp_swift3.0's Introduction

ZKKLiveAPP_Swift3.0

项目变化简介:
	
	public class func get(_ url: String!, _ para: NSDictionary?, callBack: @escaping(_ data:Data? ,_ error:Error?) -> Void) -> Void{
		
		let  session = URLSession.shared
		
		let urlStr = NSMutableString.init(string: url)
		
		if let para = para {
			urlStr.append(encodeUniCode(parasToString(para) as NSString) as String)
		}
		
		var request = URLRequest(url: URL.init(string: urlStr as String)!)
		request.httpMethod = "GET"
		let dataTask = session.dataTask(with: request) { (data, responseObject, error) in

			guard let httpURLResponse = responseObject as? HTTPURLResponse, httpURLResponse.statusCode == 200,error == nil else{
				print("DataTask Error:\(error)")
				return
			}
			
			callBack(data, error);

		}
		
		dataTask.resume()
		
	}
	
	public class func post(_ url:String! , _ para:NSDictionary?, callBack: @escaping(_ data:Data? ,_ error : Error?) -> Void) -> Void{
	
		let  session = URLSession.shared;
		
		let urlStr = NSMutableString.init(string: url)
		if para != nil{
			
			urlStr.append(encodeUniCode(parasToString((para)!) as NSString) as String)

		}
		
		var request = URLRequest.init(url: URL.init(string: urlStr as String)!)
		request.httpMethod = "POST"
		let dataTask  = session.dataTask(with: request) { (data, responseObject, error) in
			
			guard let httpURLResponse = responseObject as? HTTPURLResponse, httpURLResponse.statusCode == 200, error == nil else{
			print("DataTask Error:\(error)")
			return
			}
			callBack(data,error)
		}
		
		dataTask.resume()
	
	}
	
	
	/* 特殊字符 */
	final class func encodeUniCode(_ string: NSString) ->NSString{
		
		return string.addingPercentEncoding(withAllowedCharacters: .urlFragmentAllowed)! as NSString
	}
	
	final class func parasToString (_ para:NSDictionary ) -> String {
		
		let paraString = NSMutableString.init(string: "?")
		for (key ,value) in para as! [String: String] {
			paraString.append("\(key)=\(value)&")
		}
		if paraString.hasSuffix("&"){
			paraString.deleteCharacters(in: NSMakeRange(paraString.length - 1, 1))
		}
		return String(paraString)
	}

  • 图片加载
	
		/* 加载 */
		
		DispatchQueue.global().async { 
			
			let request = URLRequest(url: URL.init(string: urlString as String)!)
			
			URLSession.shared.dataTask(with: request) { (data, response, error) in
				guard
					let httpURLResponse = response as? HTTPURLResponse, httpURLResponse.statusCode == 200,
					let mimeType = response?.mimeType, mimeType.hasPrefix("image"),
					let data = data, error == nil,
					let image = UIImage(data: data)
					else { return }
				
				self.contentMode = UIViewContentMode.scaleToFill
				DispatchQueue.main.async(execute: {
					self.image = image
				})
				}.resume()

			
		}
		
		
		/* 缓存后续在添加,当然无法与SDImage性能相媲美,等待稳定版本合适的第三方框架再用吧 */
		

  • Cell特效
		cell.layer.transform = CATransform3DMakeScale(0.8, 0.8, 1)
		UIView.animate(withDuration: 0.8, animations: {
			cell.layer.transform = CATransform3DMakeScale(1, 1, 1)
		}, completion: nil)

详情简书:https://www.jianshu.com/p/ed9eb96afa78

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.