ウェブサイトの API からデータを取得する関数があります。
func getData() {
print("getData is called")
//create authentication ... omitted
//create authentication url and request
let urlPath = "https://...";
let url = NSURL(string: urlPath)!
let request: NSMutableURLRequest = NSMutableURLRequest(URL: url)
request.setValue("Basic \(base64EncodedCredential)", forHTTPHeaderField: "Authorization")
request.HTTPMethod = "GET"
//some configuration here...
let task = session.dataTaskWithURL(url) { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
let json = JSON(data: data!)
}
task.resume()
}
私は API からデータを取得することができ、アプリがフォアグラウンドになるたびに getData() 関数を再度呼び出してデータを更新できるように、オブザーバーを持っています。
override func viewDidLoad() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "willEnterForeground", name: UIApplicationWillEnterForegroundNotification, object: nil)
}
func willEnterForeground() {
print("will enter foreground")
getData()
}
アプリがフォアグラウンドになると getData() が再度呼び出されることは確かですが、サーバー API のデータが変更されてもデータは更新されません。アプリを閉じて再度開いてみましたが、それでもデータが更新されません。それで、誰かが私にいくつかの提案をしてくれるかどうか疑問に思っていました。どんな助けでも大歓迎です!