[Swift通天遁地]7、數據與安全-(7)建立文件瀏覽器:以可視化的方式瀏覽沙箱文件

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-yrezluxj-mb.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftios

本文將演示使用開源類庫實現可視化的方式瀏覽沙箱文件目錄。git

首先確保在項目中已經安裝了所需的第三方庫。github

點擊【Podfile】,查看安裝配置文件。swift

1 platform :ios, '12.0'
2 use_frameworks!
3 
4 target 'DemoApp' do
5     source 'https://github.com/CocoaPods/Specs.git'
6     pod 'FileBrowser'
7 end

根據配置文件中的相關配置,安裝第三方庫。瀏覽器

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】安全

 1 import UIKit
 2 //引入已經安裝的第三方類庫
 3 import FileBrowser
 4 
 5 class ViewController: UIViewController {
 6 
 7     override func viewDidLoad() {
 8         super.viewDidLoad()
 9         // Do any additional setup after loading the view, typically from a nib.
10         
11         //添加一個按鈕,當用戶點擊該按鈕時,彈出文件瀏覽器窗口。
12         let button = UIButton(type: .roundedRect)
13         //設置按鈕的顯示區域
14         button.frame = CGRect(x: 80, y: 180, width: 150, height: 44)
15         //設置按鈕的背景顏色爲橙色
16         button.backgroundColor = UIColor.orange
17         //設置按鈕的前景顏色爲白色
18         button.tintColor = UIColor.white
19         //設置按鈕在正常狀態下的標題文字
20         button.setTitle("Open file browser", for: .normal)
21         //給按鈕綁定點擊事件
22         button.addTarget(self, action: #selector(ViewController.openFileBrowser(_:)), for: UIControl.Event.touchUpInside)
23         
24         //設置根視圖的背景顏色爲橙色
25         self.view.backgroundColor = UIColor.orange
26         //將按鈕添加到根視圖
27         self.view.addSubview(button)
28     }
29     
30     //添加一個方法,用來響應按鈕的點擊事件
31     @objc func openFileBrowser(_ button:UIButton)
32     {
33         //初始化一個文件瀏覽器對象
34         let fileBrowser = FileBrowser()
35         //以模態窗口的方式,打開瀏覽器窗口。
36         self.present(fileBrowser, animated: true, completion: nil)
37         
38         //處理用戶在文件瀏覽器中,選擇某個圖片文件的事件。
39         fileBrowser.didSelectFile = { (file: FBFile) -> Void in
40             //得到被選擇的文件在沙箱中的路徑。
41             let imagePath = NSHomeDirectory() + "/Documents/"+file.displayName
42             //添加一個異常捕捉語句,用來完成讀取選擇文件的任務。
43             do
44             {
45                 //轉換文件路徑的格式
46                 let url = URL(fileURLWithPath: imagePath)
47                 //加載指定的文件,並存儲在數據對象中。
48                 let data = try Data(contentsOf: url)
49                 //使用數據對象,生成一個圖片文件。
50                 let img = UIImage(data: data)
51                 //初始化一個圖像視圖,用來顯示用戶選擇的圖片。
52                 let imageView = UIImageView(image: img)
53                 //並將圖像視圖添加到根視圖中。
54                 self.view.addSubview(imageView)
55             }
56             catch
57             {
58                 print("Something went wrong :(")
59             }
60         }
61     }
62     
63     override func didReceiveMemoryWarning() {
64         super.didReceiveMemoryWarning()
65         // Dispose of any resources that can be recreated.
66     }
67 }
相關文章
相關標籤/搜索