में एक बार काम करता है मेरे पास http अनुरोध है, और यदि मुझे सही प्रतिक्रिया मिलती है, तो मैं एक टाइमर शुरू करना चाहता हूं जो प्रत्येक सेकेंड में एक फ़ंक्शन को सक्रिय करता है। वह फ़ंक्शन भी एक http अनुरोध है।क्यों NSTimer तेजी से
इसजैसा कि आप देख, मैं एक समारोह में कहा जाता checkIfThereAreResponses
कि समारोह में फोन कर रहा हूँ, मैं एक प्रिंट बयान है, और है कि प्रिंट बयान है टाइमर आग
if let data = data {
do{
let resultJSON = try NSJSONSerialization.JSONObjectWithData(data, options: [])
requestClient.id = resultJSON["id"] as! Double
self.timerResponse = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "checkIfThereAreResponeses", userInfo: nil, repeats: true)
self.timerResponse!.fire()
}catch{
}
}
मेरी कोड है केवल एक बार मुद्रित किया जा रहा है, हालांकि मेरा टाइमर प्रत्येक 1 सेकंड
मेरे पास क्या गुम है?
और इस समारोह
func checkIfThereAreResponeses(){
if (requestClient!.id != nil) {
let url = NSURL(string: "http://localhost:blablabla")
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
let session = NSURLSession.sharedSession()
task = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) in
if let error = error {
print("error = \(error)")
}
if let data = data {
do {
let resultJSONArray = try NSJSONSerialization.JSONObjectWithData(data, options: []) as! NSArray
bla bla bla
}catch {
print("no responses yet = \(error)")
}
}
})
task!.resume()
}else {
print("not yet ")
}
}
प्रिंट मैं प्राप्त होने वाले सिर्फ एक बारno response yet
मैं इस मुद्दे को पुन: पेश नहीं कर सकता, 'checkIfThereAreResponeses' के अंदर पहला कथन 'प्रिंट' है? – luk2302
@ luk2302 अभी तक यह इसके अंदर है। – sarah
लेकिन क्या यह * पहला * है? वास्तविक 'checkIfThereAreResponeses' को देखने में मददगार हो सकता है! – luk2302