'StartMorgagesViewPage2' 类型的值没有成员 'pdfData2'

Value of type 'StartMorgagesViewPage2' has no member 'pdfData2'

我创建了一个名为 pdfData 的变量:

 var pdfData: NSData {
    let result = NSMutableData()
    UIGraphicsBeginPDFContextToData(result, frame, nil)
    guard let context = UIGraphicsGetCurrentContext() else { return result }
    UIGraphicsBeginPDFPage()
    layer.renderInContext(context)
    UIGraphicsEndPDFContext()
    return result
 }

但是当我引用它时:

   self.pdfData.writeToURL(NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!.URLByAppendingPathComponent("Page2.pdf"), atomically: true) // what it is saved as


    self.pdfData.writeToFile("Page2.pdf", atomically: false)

我收到两个错误“'StartMorgagesViewPage2' 类型的值没有成员 'pdfData2'”。这是我的代码:

import UIKit


class StartMorgagesViewPage2: UIView {

    override func didMoveToSuperview() {

        var gameTimer = NSTimer!()
        gameTimer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: "screenshot", userInfo: nil, repeats: false)


        /*  label.text = "\(instructedbyvalue)"
         accountnumberlabel.text = "\(accountnumbersvalue)" //(boo) //"boooooo"
         applicantslabel.text = "\(applicantsvalue)"
         propertyaddresslabel.text = "\(propertyaddressvalue)"
         eircodedetails.text = "\(eircodedetailsvalue)"
         */


        //Saving


    }


    func screenshot() {
        print("screenshot")

        var pdfData: NSData {
            let result = NSMutableData()
            UIGraphicsBeginPDFContextToData(result, frame, nil)
            guard let context = UIGraphicsGetCurrentContext() else { return result }
            UIGraphicsBeginPDFPage()
            layer.renderInContext(context)
            UIGraphicsEndPDFContext()
            return result
        }




        self.pdfData.writeToURL(NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!.URLByAppendingPathComponent("Page2.pdf"), atomically: true) // what it is saved as


        self.pdfData.writeToFile("Page2.pdf", atomically: false)
        print(NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!.path!)




    }




}

这是错误的图片: .

我想不出会发生这种情况的原因。我已尝试清洁、构建和 运行 应用程序。

问题是您试图通过使用 self 访问您的 pdfData – 但 pdfData 不是 self 的实例成员,它只是一个普通旧变量(尽管是计算的变量)。

因此,解决方案是简单地删除 self:

pdfData.writeToFile("Page2.pdf", atomically: false)

您还应该注意,在引用实例成员(属性或方法)时,您应该更喜欢隐式使用 self 而在 class 中,因为它使您的代码更具可读性。例如——使用 someMethodCall() 而不是 self.someMethodCall().