Re: [問題] ios存圖片到ipad中

看板MacDev作者 (←這人是超級笨蛋)時間11年前 (2014/06/09 22:15), 編輯推噓3(303)
留言6則, 2人參與, 最新討論串2/4 (看更多)
※ 引述《issuemylove (skill)》之銘言: : 想請問各位大大 : 我想要將網路上的圖片存入ipad中,以便日後使用 : 後來我查到一個方法 : NSString *path = NSSearchPathForDirectoriesInDomain(NSDocumentDirectory, ...); : 來取得存取路徑 : 後來想想不對,實在是對ios內部File System不熟 : 就去找查了一些資料 : (app沙池內存有一些目錄) : 想想上述程式碼的 path 只到的應該是 document 目錄吧 : 後來看到一些人是用 NSFileManager 來進行操作 : ...反正我是搞混了,到底是要用NSFileManager還是 NSSearch...InDomain啊? : 最後連圖片到底適不適合存在 document 目錄中都有點不確定了= =" : 謝謝各位的解惑 要把圖片存到目錄內有兩個步驟 1. 決定你要存到哪裡 2. 真的存進去 NSSearchPathForDirectoriesInDomain 的用途是前者 因為 iOS app sandbox 的真實路徑是由 OS 決定, 所以要用它得到可用的路徑 NSFileManager 的用途則是後者 它可以用來檢查目錄裡面的內容、建立新目錄、建立(空白)檔案等等 先回答你最後一個問題:圖片要存在哪? iOS app 是 sandboxed, 除非考慮 iOS 8 的 extensions, 否則檔案只有你看得到 所以基本上你高興存哪就存哪, 沒人會阻止你 不過事實上系統內建有一個 NSPicturesDirectory, 看起來就是存圖片的地方 完整的列表在這裡 http://goo.gl/qK0UBs 要如何寫入檔案可以看這篇(隨便找的) http://furnacedigital.blogspot.tw/2013/08/nsfilemanager.html 從網路上抓的圖片大概會是 NSData(或 UIImage, 如果是後者就先轉成 NSData) 然後 NSData 本身就有可以存入檔案的 methods 所以如果你只是要直接存入 NSPicturesDirectory, 其實找到路徑直接用就可以 不過若需要確認會不會複寫舊檔或建立子目錄之類的, 就要用到 NSFileManager -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.94.175 ※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1402323303.A.1D6.html

06/09 22:37, , 1F
原來有NSPicturesDirectory這種東西......
06/09 22:37, 1F

06/10 10:34, , 2F
感謝大大的提點! 所以UIImage本身的 writeToFile
06/10 10:34, 2F

06/10 10:34, , 3F
本身也有用到NSFileManager來存檔囉!
06/10 10:34, 3F

06/10 10:35, , 4F
很簡單明瞭! 感恩!
06/10 10:35, 4F

06/10 16:30, , 5F
試了一下 NSPictureDirectory 無法在實機建立資料夾
06/10 16:30, 5F

06/10 17:18, , 6F
換成NSDocumentDirectory就可以
06/10 17:18, 6F
文章代碼(AID): #1JbS5d7M (MacDev)
文章代碼(AID): #1JbS5d7M (MacDev)