Apple Watch-2基于页面的导航显示页面上的HTTP数据已更改

时间:2016-02-01 21:24:19

标签: ios swift watchkit apple-watch watch-os

我尝试使用 Swift 2 创建基于页面的导航观看应用。 我的应用程序如下:

enter image description here

对于这两个接口,我都有名为 InterfaceController和EconomyInterfaceController 的唯一控制器。

在每个控制器中,我通过控制器 init()功能

中的函数读取了一些JSON数据
func setFeed(url: String) {
    let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
    let request = NSURLRequest(URL: NSURL(string: url)!)

    let task: NSURLSessionDataTask = session.dataTaskWithRequest(request) { (data, response, error) -> Void in

        if let data = data {
            do {

                let _data: AnyObject? = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
                if let items = _data!["data"] as? NSArray{
                    self.tableOutlet.setNumberOfRows(items.count, withRowType: "row")
                    for (index, item) in items.enumerate() {
                        if let title = self.JSONString(item["title"]) {
                            if let spot = self.JSONString((item["spot"])) {
                                let news = newsItem(title: title, spot: spot)
                                let row = self.tableOutlet!.rowControllerAtIndex(index) as? RowController
                                row!.rowLabel!.setText(news.title)                                }
                        }
                    }

                }
            } catch {
            }
        }

    }
    task.resume()
}

据我所知,这不是 HTTP 请求的最佳方式,因为所有请求都在主线程和应用启动时运行。这不是我的主要问题,但如果你有任何报价,我不能拒绝:)

我的主要问题是,如果我在 willActivate()方法中调用 setFeed()方法,并使用

设置表格标签
row!.rowLabel!.setText(news.title)

我的应用有效,但这不是一个好选择,因为每次更改页面时都会反复更新内容。

如果我在 init()方法中调用 setFeed()方法并使用

设置表格标签
row!.rowLabel!.setText(news.title)

仅显示应用的第一页,而其他页面未显示。这有什么不对?

0 个答案:

没有答案