? ? 附件功能主要包括可直接打開類型以及不支持直接打開的類型。直接打開可用的方式有web、QLPreviewController、UIDocumentInteractionController 。廢話不多說了,直接上代碼吧。
? ? 新建一個文件工具類,只提供兩個公共方法。

? ? 第一步,我們需要判斷后端給的附件url是否是我們支持的可直接打開類型。因為個人沒有發(fā)現(xiàn)UIDocumentInteraction里提供此類方法,我就用正則去匹配,如果大家有更好的方法也可以一起交流一下。

????第二步,就可以根據(jù)是否可打開進入不同的操作??芍苯哟蜷_則先去讀取文件目錄中是否有相同文件名的文件,有則直接用上述三種方法選擇其一直接打開,這里的CHRemotePreviewViewController我是采用的QLPreviewController做的預(yù)覽,我在CHRemotePreviewViewController也做了文件判斷,和下面選擇其他方式打開里重復(fù)了下載這一代碼,本人比較懶沒改過來,這里可以自己抽成一個方法。不可直接打開則調(diào)用UIDocumentInteractionController類彈出是否選擇第三方的方式打開附件,當然你依舊需要判斷是否文件存在本地了。
? ?
? ??



寫完了,多多包涵。