<commit_before>
# WTKit
[![Build Status](https://travis-ci.org/swtlovewtt/WTKit.svg?branch=master)](https://travis-ci.org/swtlovewtt/WTKit)

WTKit是我和朋友们的swift开发积累

## 功能
- [x] 方便的请求/响应方法
- [x] debug输出
- [x] 方便的线程切换
- [x] 网络状态监听(Reachability)
- [x] UIColor快捷创建
- [x] UIButton和UIImageVie的图片缓存
- [x] UITableView下拉刷新
- [x] UIView截屏为图片
- [x] 常用Hud提示
- [x] 应用新版本首次启动区分
- [x] 更多

## 开发环境
- iOS 8.0+ / Mac OS X 10.9+ / tvOS 9.0+ / watchOS 2.0+
- Xcode 8.0+

## 集成
把WTKit下的四个文件拷贝进应用就可以了

## 和我交流

- 如果你 **找到一个bug**, 打开一个 issue.
- 如果你 **有一个功能请求**, 打开一个 issue.
- 如果你 **想来做出贡献**, 可以提交一个pull request.

## 安装
>WTKit需要iOS8或者 OS X Mavericks (10.9)

### CocoaPods

暂未集成

### 手动安装
把WTKit下的几个文件拷贝过来即可

## 使用

### WTPrint

用于方便的查看放钱输出所在的文件,方法,行数,并且在DEBUG模式下输出

```swift
public func WTPrint<T>(_ items:T,
             separator: String = " ",
             terminator: String = "\n",
             file: String = #file,
             method: String = #function,
             line: Int = #line)

WTPrint("wt print \(self)")
//AppDelegate.swift[19], application(_:didFinishLaunchingWithOptions:) wt print <WTKit.AppDelegate: 0x7fde38509d80>
```
> 注意,swift需要设置一下debug: Build Settings -> Other Swift Flags -> Debug -> -D DEBUG

### 创建请求

```swift
import WTKit
URLSession.wt_dataTask(with: "https://www.apple.com") { (data, response, error) in
              print(response) //服务端响应
              print(data)     //服务端数据
              print(error)    //得到的错误
        }
```
> WTKit中的网络请求是异步完成的.

### 结果处理

- 数据响应
- 字符串
- 图片
- JSON

#### 数据响应

```swift
let task = URLSession.wt_dataTask(with: "https://www.apple.com") { (data, response, error) in
            print(response)
            print(data)     
            print(error)    
        }
```
#### 字符串

```swift
task.stringHandler = {(string:String?,error:NSError?)in
            print(string)
        }
```
#### 图片

```swift
task.imageHandler = {(image:UIImage?,error:NSError?) in
            print(image)
        }
```
#### JSON

```swift
task.jsonHandler = {(object:AnyObject?,error:NSError?) in
            print(object)
        }
```


### 认证

认证使用的系统框架的认证[`URLCredential` 和 `URLAuthenticationChallenge`](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURLAuthenticationChallenge_Class/Reference/Reference.html).

**支持的认证方案**

- [HTTP Basic](http://en.wikipedia.org/wiki/Basic_access_authentication)
- [HTTP Digest](http://en.wikipedia.org/wiki/Digest_access_authentication)
- [Kerberos](http://en.wikipedia.org/wiki/Kerberos_%28protocol%29)
- [NTLM](http://en.wikipedia.org/wiki/NT_LAN_Manager)

## 高级用法
<commit_msg>去掉多余的空格<commit_after>
# WTKit
[![Build Status](https://travis-ci.org/swtlovewtt/WTKit.svg?branch=master)](https://travis-ci.org/swtlovewtt/WTKit)

WTKit是我和朋友们的swift开发积累

## 功能
- [x] 方便的请求/响应方法
- [x] debug输出
- [x] 方便的线程切换
- [x] 网络状态监听(Reachability)
- [x] UIColor快捷创建
- [x] UIButton和UIImageVie的图片缓存
- [x] UITableView下拉刷新
- [x] UIView截屏为图片
- [x] 常用Hud提示
- [x] 应用新版本首次启动区分
- [x] 更多

## 开发环境
- iOS 8.0+ / Mac OS X 10.9+ / tvOS 9.0+ / watchOS 2.0+
- Xcode 8.0+

## 集成
把WTKit下的四个文件拷贝进应用就可以了

## 和我交流

- 如果你 **找到一个bug**, 打开一个 issue.
- 如果你 **有一个功能请求**, 打开一个 issue.
- 如果你 **想来做出贡献**, 可以提交一个pull request.

## 安装
>WTKit需要iOS8或者 OS X Mavericks (10.9)

### CocoaPods

暂未集成

### 手动安装
把WTKit下的几个文件拷贝过来即可

## 使用

### WTPrint

用于方便的查看放钱输出所在的文件,方法,行数,并且在DEBUG模式下输出

```swift
public func WTPrint<T>(_ items:T,
             separator: String = " ",
             terminator: String = "\n",
             file: String = #file,
             method: String = #function,
             line: Int = #line)

WTPrint("wt print \(self)")
//AppDelegate.swift[19], application(_:didFinishLaunchingWithOptions:) wt print <WTKit.AppDelegate: 0x7fde38509d80>
```
> 注意,swift需要设置一下debug: Build Settings -> Other Swift Flags -> Debug -> -D DEBUG

### 创建请求

```swift
import WTKit
URLSession.wt_dataTask(with: "https://www.apple.com") { (data, response, error) in
              print(response) //服务端响应
              print(data)     //服务端数据
              print(error)    //得到的错误
        }
```
> WTKit中的网络请求是异步完成的.

### 结果处理

- 数据响应
- 字符串
- 图片
- JSON

#### 数据响应

```swift
let task = URLSession.wt_dataTask(with: "https://www.apple.com") { (data, response, error) in
            print(response)
            print(data)     
            print(error)    
        }
```
#### 字符串

```swift
task.stringHandler = {(string:String?,error:NSError?)in
            print(string)
        }
```
#### 图片

```swift
task.imageHandler = {(image:UIImage?,error:NSError?) in
            print(image)
        }
```
#### JSON

```swift
task.jsonHandler = {(object:AnyObject?,error:NSError?) in
            print(object)
        }
```


### 认证

认证使用的系统框架的认证[`URLCredential`和`URLAuthenticationChallenge`](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURLAuthenticationChallenge_Class/Reference/Reference.html).

**支持的认证方案**

- [HTTP Basic](http://en.wikipedia.org/wiki/Basic_access_authentication)
- [HTTP Digest](http://en.wikipedia.org/wiki/Digest_access_authentication)
- [Kerberos](http://en.wikipedia.org/wiki/Kerberos_%28protocol%29)
- [NTLM](http://en.wikipedia.org/wiki/NT_LAN_Manager)

## 高级用法

{'fraction_non_alphanumeric': 0.16608594657375145, 'fraction_numerical': 0.011614401858304297, 'mean_word_length': 3.1105807478122514, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 19, 'https://': 10, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4453296', 'n_tokens_mistral': 2386, 'n_tokens_neox': 2425, 'n_words': 338}