サーバーにデータをPOSTし、それを1秒ごとに繰り返すプログラムを作成していますが、コメントアウトしてある部分をどのようにかけば良いのかわかりません。
下記にプログラムを記載します。
swift
1 2import UIKit 3 4class ViewController: UIViewController,NSURLSessionDelegate,NSURLSessionDataDelegate{ 5 6 var timer: NSTimer! 7 var cnt: Float = 0 8 9 override func viewDidLoad(){ 10 11 super.viewDidLoad() 12 // Do any additional setup after loading the view, typically from a nib. 13 14 // 通信用のConfigを生成. 15 let myConfig:NSURLSessionConfiguration = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("backgroundTask") 16 // Sessionを生成. 17 var mySession:NSURLSession = NSURLSession(configuration: myConfig, delegate: self, delegateQueue: nil) 18 // 通信先のURLを生成. 19 let myUrl:NSURL = NSURL(string: "URL")! 20 21 // POST用のリクエストを生成. 22 let myRequest:NSMutableURLRequest = NSMutableURLRequest(URL: myUrl) 23 // POSTのメソッドを指定. 24 myRequest.HTTPMethod = "POST" 25 26 // 送信するデータを生成・リクエストにセット. 27 let str:NSString = "送りたいデータ" 28 let myData:NSData = str.dataUsingEncoding(NSUTF8StringEncoding)! 29 myRequest.HTTPBody = myData 30 31 // タスクの生成. 32 let myTask:NSURLSessionDataTask = mySession.dataTaskWithRequest(myRequest) 33 34 // タスクの実行. 35 myTask.resume() 36 37 let time:NSTimer = NSTimer.scheduledTimerWithTimeInterval(1,target:self,selector:Selector("onUpdate"),userInfo: nil, repeats: true) 38 } 39 40 func onUpdate(timer : NSTimer) { 41 42 //ここの部分です。myTask.resume()の処理をループさせたいです。 43 44 } 45 46 47 //通信が終了したときに呼び出されるデリゲート. 48 func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveData data: NSData) { 49 50 // 帰ってきたデータを文字列に変換. 51 var myData:NSString = NSString(data: data, encoding: NSUTF8StringEncoding)! 52 53 // バックグラウンドだとUIの処理が出来ないので、メインスレッドでUIの処理を行わせる. 54 dispatch_async(dispatch_get_main_queue(), { 55 self.myText.text = myData as String 56 }) 57 } 58 59 60 @IBOutlet weak var myText: UILabel! 61 func URLSessionDidFinishEventsForBackgroundURLSession(session: NSURLSession) { 62 println("URLSessionDidFinishEventsForBackgroundURLSession") 63 } 64 65 override func didReceiveMemoryWarning() { 66 super.didReceiveMemoryWarning() 67 // Dispose of any resources that can be recreated. 68 } 69 70 71} 72 73
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。