OSDN Git Service

NSManagedObjetの監視を別クラスに分けてbindingを削除した
[kcd/KCD.git] / KCD / ScreenshotRegister.swift
1 //
2 //  ScreenshotRegister.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/11/05.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 class ScreenshotRegister {
12     
13     let url: URL
14     
15     init(_ url: URL) {
16         
17         self.url = url
18     }
19     
20     func registerScreenshot(_ image: NSBitmapImageRep, name: String, completeHandler: @escaping (URL) -> Void) {
21         
22         DispatchQueue(label: "Screenshot queue").async {
23             
24             guard let data = image.representation(using: .jpeg, properties: [:]) else { return }
25             
26             let url = self.url
27                 .appendingPathComponent(name)
28                 .appendingPathExtension("jpg")
29             let pathURL = FileManager.default.uniqueFileURL(url)
30             
31             do {
32                 
33                 try data.write(to: pathURL)
34                 
35             } catch {
36                 
37                 print("Can not write image")
38                 return
39             }
40             
41             DispatchQueue.main.async {
42                 
43                 completeHandler(pathURL)
44             }
45         }
46     }
47 }