質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

1850閲覧

swift データベースにPOSTしループさせるプログラム

namatamago

総合スコア13

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2015/08/11 01:02

サーバーにデータを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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

mySessionをインスタンス変数にすれば、onUpdate()関数の中からも利用できます。

投稿2015/08/12 15:19

Stripe

総合スコア2183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問