import QuickLook
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, QLPreviewControllerDelegate, QLPreviewControllerDataSource {}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
modelIndex = indexPath.row
// 內建原生QLPreviewController
let previewController = QLPreviewController()
previewController.dataSource = self
previewController.delegate = self
present(previewController, animated: false)
}
// MARK: - QLPreviewControllerDataSource
func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
return 1
}
func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
let url = Bundle.main.url(forResource: modelNames[modelIndex], withExtension: "usdz")!
return url as QLPreviewItem
}