KMBookmarkManager.swift 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // KMBookmarkManager.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by lizhe on 2024/2/7.
  6. //
  7. import Cocoa
  8. let bookmarksIdentifier = Bundle.main.bundleIdentifier?.stringByAppendingPathComponent(".bookmarks")
  9. class KMBookmarkManager: NSObject {
  10. static let manager = KMBookmarkManager()
  11. var recentDocuments: [NSDictionary] = []
  12. var rootBookmark: KMBookmark = KMBookmark()
  13. func reloadData() {
  14. var bookmarkDictionary: NSDictionary = UserDefaults.standard.persistentDomain(forName: bookmarksIdentifier!)! as NSDictionary
  15. var documents: NSArray = bookmarkDictionary.object(forKey: "recentDocuments") as! NSArray
  16. for info in documents {
  17. recentDocuments.append(info as! NSDictionary)
  18. }
  19. rootBookmark = KMBookmark.bookmark(properties: bookmarkDictionary["bookmarks"] as! NSDictionary)
  20. }
  21. func saveData() {
  22. let bookmarksDictionary: [String: Any] = [
  23. "bookmarks": (self.rootBookmark.children as NSArray).value(forKey: "properties") as Any,
  24. "recentDocuments": recentDocuments as Any
  25. ]
  26. // UserDefaults.standard.setPersistentDomain(bookmarksDictionary, forName: SKBookmarksIdentifier)
  27. //
  28. // NSDictionary *bookmarksDictionary = [NSDictionary dictionaryWithObjectsAndKeys:[[bookmarkRoot children] valueForKey:@"properties"], BOOKMARKS_KEY, recentDocuments, RECENTDOCUMENTS_KEY, nil];
  29. // [[NSUserDefaults standardUserDefaults] setPersistentDomain:bookmarksDictionary forName:SKBookmarksIdentifier];
  30. }
  31. }