teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

プログラムの修正

2015/08/10 02:20

投稿

namatamago
namatamago

スコア13

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,6 @@
5
5
 
6
6
  ```swift
7
7
  import UIKit
8
- import SpriteKit
9
8
 
10
9
  class ViewController: UIViewController,NSURLSessionDelegate,NSURLSessionDataDelegate{
11
10
 

1

プログラムを修正しました。

2015/08/10 02:20

投稿

namatamago
namatamago

スコア13

title CHANGED
File without changes
body CHANGED
@@ -4,16 +4,71 @@
4
4
 
5
5
 
6
6
  ```swift
7
+ import UIKit
8
+ import SpriteKit
7
9
 
10
+ class ViewController: UIViewController,NSURLSessionDelegate,NSURLSessionDataDelegate{
11
+
8
- var timer = NSTimer();
12
+ override func viewDidLoad() {
13
+ super.viewDidLoad()
14
+ // Do any additional setup after loading the view, typically from a nib.
15
+
16
+ // 通信用のConfigを生成.
17
+ let myConfig:NSURLSessionConfiguration = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("backgroundTask")
18
+ // Sessionを生成.
19
+ var mySession:NSURLSession = NSURLSession(configuration: myConfig, delegate: self, delegateQueue: nil)
20
+ // 通信先のURLを生成.
21
+ let myUrl:NSURL = NSURL(string: "データを送る先のURL")!
22
+
23
+ // POST用のリクエストを生成.
24
+ let myRequest:NSMutableURLRequest = NSMutableURLRequest(URL: myUrl)
25
+ // POSTのメソッドを指定.
26
+ myRequest.HTTPMethod = "POST"
27
+
28
+ // 送信するデータを生成・リクエストにセット.
29
+ let str:NSString = "送るデータを書く"
30
+ let myData:NSData = str.dataUsingEncoding(NSUTF8StringEncoding)!
31
+ myRequest.HTTPBody = myData
32
+
33
+ // タスクの生成.
34
+ let myTask:NSURLSessionDataTask = mySession.dataTaskWithRequest(myRequest)
35
+
36
+ // タスクの実行.
37
+ myTask.resume()
38
+
39
+ let time:NSTimer = NSTimer.scheduledTimerWithTimeInterval(1,target:self,selector:Selector("onUpdate"),userInfo: nil, repeats: true)
40
+
41
+ func onUpdate() {
9
42
 
43
+ ここの処理がわかりません。
44
+ }
45
+ }
46
+
47
+ //通信が終了したときに呼び出されるデリゲート.
10
- timer = NSTimer.scheduledTimerWithTimeInterval(1,target:self,selector:Selector("onUpdate"),userInfo: nil, repeats: true);
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
+ @IBOutlet weak var myText: UILabel!
60
+ func URLSessionDidFinishEventsForBackgroundURLSession(session: NSURLSession) {
61
+ println("URLSessionDidFinishEventsForBackgroundURLSession")
62
+ }
11
63
 
12
- func onUpdate(){
64
+ override func didReceiveMemoryWarning() {
13
-
65
+ super.didReceiveMemoryWarning()
66
+ // Dispose of any resources that can be recreated.
14
- 実行処理
67
+ }
15
-
68
+
69
+
16
70
  }
17
71
 
18
72
 
73
+
19
74
  ```