0
나는 CFCssets로 PDF 파일을 가지고 있는데, 이것은 문제없이 UIWebView에서 호출되고 표현됩니다. CKAsset이 ActivityViewController에 표시되도록 코드를 조작했지만 func 메서드 내에 있으며이 부분을 Action 버튼에 할당하려고합니다. 내 질문에 함수 내에서 몇 줄을 어떻게 호출 할 수 있습니까? 작업 버튼을 작동 시키려면 func 외부에 충분한 참조가 있습니까? 여기 ActivityViewController와 공유 할 수있는 UIWebView에 대한 CKAsset (NSData)
는 FUNC 코드 -func queryRecord() {
let container = CKContainer.default()
let publicDatabase = container.publicCloudDatabase
let predicate = NSPredicate(format: "recordID = %@", CKRecordID(recordName : documentID))
let query = CKQuery(recordType: "Documents", predicate: predicate)
publicDatabase.perform(query, inZoneWith: nil, completionHandler: ({results, error in
if (error != nil) {
DispatchQueue.main.async() {
self.notifyUser("Cloud Access Error", message: error!.localizedDescription)
}
} else {
if results!.count > 0 {
let record = results![0]
print(record)
DispatchQueue.main.async() {
let docTitle = record.object(forKey: "documentName") as! String
self.title = "\(docTitle)"
let docType = record.object(forKey: "documentType") as! String
if docType == "PDF" || docType == "pdf" {
if let asset1 = record.object(forKey: "documentFile") as? CKAsset {
let doc1Data : NSData? = NSData(contentsOf:asset1.fileURL)
self.docWebView.load(doc1Data! as Data, mimeType: "application/pdf", textEncodingName: "UTF-8", baseURL: NSURL() as URL)
let filenameURL = [(asset1.fileURL)]
let activityController = UIActivityViewController(activityItems: filenameURL, applicationActivities: nil)
self.present(activityController, animated: true, completion: nil)
}
} else {
내가 코드 외부 filenameURL를 참조하려고 노력하지만, filenameURL이 클래스의 멤버 없다는 것을 인식하지 못합니다.