You can use NSTimerto put your data calls instead of blocking the application withsleep
func dataCall(timer : NSTimer) {
}
let myTimer : NSTimer = NSTimer.scheduledTimerWithTimeInterval(4, target: self, selector: Selector("dataCall:"), userInfo: nil, repeats: false)
and, of course, you can change these settings to your liking and needs.