我在这里有这个方法:
func displayPDF(dataParam: NSData, PDFFileParam: String)
现在我试图通过NSTtimer
调用此方法,如下所示:
NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: #selector(FileBrowser.displayPDF(_:PDFFileParam:)), userInfo: nil, repeats: false)
我有这两个变量:
let PDFFile = self.data[indexPath.row]["Name"]!!.componentsSeparatedByString("\\").last
var data: NSData!
我想使用这些变量传递给selector
的方法,我该怎么做?
答案 0 :(得分:1)
为此,您需要创建subclass
NSTimer
的自定义userInfo
或其他方式,您可以像这样使用NSTimer
scheduledTimerWithTimeInterval
的属性。
首先像这样改变你的let dic:[String:AnyObject] = ["pdfName" : PDFFile, "pdfData" : data]
NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: #selector(FileBrowser.displayPDF(_:)), userInfo: dic as! AnyObject, repeats: false)
。
displayPDF
现在更改您的计时器功能func displayPDF(timer:NSTimer) {
if let userInfo = timer.userInfo as? [String: AnyObject] {
print(userInfo["pdfName"])
}
}
。
<select name="zipcode" id="zipcode">
<option value="">Select Zipcode first</option>
</select>
<select name="streets" id="streets">
<option value="">Select Streets first</option>
</select>