[MacOS]SavePanel/OpenPanel

閱讀時間約 2 分鐘

儲存檔案:

let savePanel = NSSavePanel()
savePanel.canCreateDirectories = true
savePanel.showsTagField = false
savePanel.nameFieldStringValue = "localFile.txt"
savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
savePanel.begin { (result) in
if result.rawValue == NSApplication.ModalResponse.OK.rawValue {
do{
try self.writeTextView.string.write(to: savePanel.url!, atomically: true, encoding: .utf8)
}
catch{
NSLog("save Error")
}
}
}


開啟檔案:

let readPanel = NSOpenPanel()
readPanel.title = "Choose a .txt file";
readPanel.showsResizeIndicator = true;
readPanel.showsHiddenFiles = false;
readPanel.canChooseDirectories = true;
readPanel.canCreateDirectories = true;
readPanel.allowsMultipleSelection = false;
readPanel.allowedFileTypes = ["txt"];
if (readPanel.runModal() == NSApplication.ModalResponse.OK) {
//reading

do {
readTextView.string = try String(contentsOf: readPanel.url!, encoding: .utf8)
}
catch {
NSLog("read Error")
}
}




8會員
123內容數
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
留言0
查看全部
發表第一個留言支持創作者!
小黑與程式的邂逅 的其他內容
用來操作 Core Data 的常數 private let coreDataContext = (NSApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext 取的資料數量: func get
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { NSApplication.shared.terminate(self) return
字串交換: let str = "被誰喜歡,又喜歡誰呢?" // 交換 print(str.replacingOccurrences(of: ",又", with: "?")) //被誰喜歡?喜歡誰呢? 字串去首尾: let str = "被誰喜歡,又喜歡誰呢?" // 去首尾 print
int to data: //int to data var num = -12300 let data = Data.init(bytes: &num, count: MemoryLayout.size(ofValue: num)) // bytes : 8 elements //
以底下兩數字為例: let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 向右位移: let shiftRightBin1Result = bin1>>1 print(String(shiftRightBin1R
以底下兩數字為例: let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 and運算 let andResult = bin1 & bin2 print(String(andResult,radix: 2))//
用來操作 Core Data 的常數 private let coreDataContext = (NSApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext 取的資料數量: func get
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { NSApplication.shared.terminate(self) return
字串交換: let str = "被誰喜歡,又喜歡誰呢?" // 交換 print(str.replacingOccurrences(of: ",又", with: "?")) //被誰喜歡?喜歡誰呢? 字串去首尾: let str = "被誰喜歡,又喜歡誰呢?" // 去首尾 print
int to data: //int to data var num = -12300 let data = Data.init(bytes: &num, count: MemoryLayout.size(ofValue: num)) // bytes : 8 elements //
以底下兩數字為例: let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 向右位移: let shiftRightBin1Result = bin1>>1 print(String(shiftRightBin1R
以底下兩數字為例: let bin1:UInt8 = 0b11111111 //255 let bin2:UInt8 = 0b00001000 //8 and運算 let andResult = bin1 & bin2 print(String(andResult,radix: 2))//
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
在前公司會用這套工具為 Windows 電腦清理暫存檢查問題,但微軟官方一直不信任這類程式,也曾把 CCleaner 列為潛在的垃圾應用程式(PUA),最近發現它的 macOS 版本也像惡意程式一樣,裝了之後竟一直潛伏在背景且無法用正常方式刪除,建議不要安裝此軟體,移除方式請參考這篇: https
Thumbnail
以往對於macOS系統都不會追求要更新到最新版本,儘管許多人推的macOS Sonoma免費版釋出後,也遲遲沒有升級XD。 直到知道升級後就能透過App Store下載copilot使用GPT-4就衝動更新了!(有聽說部分人的網頁版就可以直接選擇GPT-4?)
Thumbnail
目標 使用自備的 NAS 或者有硬碟空間的同網域電腦分享空間,做為蘋果電腦的 TimeMachine 備份儲存用 以下以 NAS 舉例,一般 Windows 電腦用網路芳鄰分享也行
Thumbnail
雖然網上有不少 Cloud 的 圖像生成 AI service,但是如果要大量/長期免費地使用,在本地安裝及依靠本機運算能力的 Stable Diffusion 是一個不錯的選擇。
Thumbnail
022/03/01 又遇到問題了,紀錄。 最近播放影片全螢幕發現,上方的選單列不會消失,以前都會的啊~ 看起來很礙眼 終於找到地方了 系統偏好設定—>Dock與選單列—>左手邊在dock選單列的icon—>右手邊下方有個 在全螢幕中自動隱藏和顯示選單列—>打勾就回復了。
2022/02/28 重點:把keychain中的“密碼”對應項目移除,重新安裝,同意的選項就會跳出來。 這例子是用surfshark遇到的困擾 移除了VPN configuration後(就是原本在網路那邊會看到一些VPN設定的選項,移除了) 重新執行surfshark 處理方式
Thumbnail
原本很習慣的抬頭看螢幕右上角的時間、日期,突然發現曾幾何時怎麼變得這麼不請楚,好像在考驗視力一樣,真的痛苦萬分,想說重新開機就好了,結果也一樣,更換背景圖案也是一樣,改為黑暗模式也是一樣。 您是不是也是覺得超級不清楚的 調來調去發現改成「類比時間」可以解決這個問題,不過也很難看,因為小小的一個圓圈,
Thumbnail
💡 macOS Monterey 幾個對於「生產力」較重要的新功能: Safari瀏覽器(精簡的標籤頁列、套用你所在網站的顏色、標籤頁群組) 專注模式(只接收想要的通知、可跨裝置連動) 快速備忘錄(不管在哪都能快速記下靈感構思、依照#標籤分類及快速搜尋) 照片中的原況文字
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
在前公司會用這套工具為 Windows 電腦清理暫存檢查問題,但微軟官方一直不信任這類程式,也曾把 CCleaner 列為潛在的垃圾應用程式(PUA),最近發現它的 macOS 版本也像惡意程式一樣,裝了之後竟一直潛伏在背景且無法用正常方式刪除,建議不要安裝此軟體,移除方式請參考這篇: https
Thumbnail
以往對於macOS系統都不會追求要更新到最新版本,儘管許多人推的macOS Sonoma免費版釋出後,也遲遲沒有升級XD。 直到知道升級後就能透過App Store下載copilot使用GPT-4就衝動更新了!(有聽說部分人的網頁版就可以直接選擇GPT-4?)
Thumbnail
目標 使用自備的 NAS 或者有硬碟空間的同網域電腦分享空間,做為蘋果電腦的 TimeMachine 備份儲存用 以下以 NAS 舉例,一般 Windows 電腦用網路芳鄰分享也行
Thumbnail
雖然網上有不少 Cloud 的 圖像生成 AI service,但是如果要大量/長期免費地使用,在本地安裝及依靠本機運算能力的 Stable Diffusion 是一個不錯的選擇。
Thumbnail
022/03/01 又遇到問題了,紀錄。 最近播放影片全螢幕發現,上方的選單列不會消失,以前都會的啊~ 看起來很礙眼 終於找到地方了 系統偏好設定—>Dock與選單列—>左手邊在dock選單列的icon—>右手邊下方有個 在全螢幕中自動隱藏和顯示選單列—>打勾就回復了。
2022/02/28 重點:把keychain中的“密碼”對應項目移除,重新安裝,同意的選項就會跳出來。 這例子是用surfshark遇到的困擾 移除了VPN configuration後(就是原本在網路那邊會看到一些VPN設定的選項,移除了) 重新執行surfshark 處理方式
Thumbnail
原本很習慣的抬頭看螢幕右上角的時間、日期,突然發現曾幾何時怎麼變得這麼不請楚,好像在考驗視力一樣,真的痛苦萬分,想說重新開機就好了,結果也一樣,更換背景圖案也是一樣,改為黑暗模式也是一樣。 您是不是也是覺得超級不清楚的 調來調去發現改成「類比時間」可以解決這個問題,不過也很難看,因為小小的一個圓圈,
Thumbnail
💡 macOS Monterey 幾個對於「生產力」較重要的新功能: Safari瀏覽器(精簡的標籤頁列、套用你所在網站的顏色、標籤頁群組) 專注模式(只接收想要的通知、可跨裝置連動) 快速備忘錄(不管在哪都能快速記下靈感構思、依照#標籤分類及快速搜尋) 照片中的原況文字