2016-10-03 2 views
2

아래 코드는 swift 2.2를 사용하여 여러 번 게시하고 업데이트 한 응용 프로그램에서 훌륭하게 작동했습니다. 난 그냥 신속하게 3으로 마이 그 레이션 지금은 다음과 같은 컴파일 시간 오류가 발생; 이에해결 appendingPathComponent 오류의 모호한 사용

let PDFPathFileName = documentDirectory.appendingPathComponent(fileName as String) 

: 라인에 "appendingPathComponent의 모호한 사용"

func returnPDFPath() -> String { 
     let path:NSArray =   NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) as NSArray 
     let documentDirectory: AnyObject = path.object(at: 0) as AnyObject 
     let PDFPathFileName = documentDirectory.appendingPathComponent(fileName as String) 

     return PDFPathFileName 
} 

@IBAction func reveiwPDFSendCliked(_ sender: AnyObject) { 

    let pdfPathWithFileName = returnPDFPath() 

    generatePDFs(pdfPathWithFileName) 
} 

이 코드는 PDF 파일을 저장하는 데 사용되는 documentDirectory에 파일 경로를 반환 할 책임 때 사용자가 리뷰를 클릭하고 PDF 저장 버튼을 클릭합니다. 어떤 제안이라도 대단히 감사하겠습니다.

답변

7

appendingPathComponentAnyObject이 아니라 NSString의 방법입니다.

변경이 라인 :

let documentDirectory: AnyObject = path.object(at: 0) as AnyObject 

에 :

let documentDirectory = path.object(at: 0) as! NSString 

하지만 당신은 가능한 한 적절한 유형을 사용하려고합니다.

이 시도 :

func returnPDFPath() -> String { 
    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) 
    let documentDirectory = path.first! as NSString 
    let PDFPathFileName = documentDirectory.appendingPathComponent(fileName as String) 

    return PDFPathFileName 
} 

이 코드는 (해야되는) path 적어도 하나 개의 값을 가지고 있다고 가정합니다.

+0

'AnyObject'의 메소드는 없습니다. 주어진 메소드가있는 클래스를 찾으려면 Xcode의 참조 문서에서 검색하십시오. – rmaddy

관련 문제