2015-02-11 64 views
0

我已經設置了一個arduino服務器,它接收一個http請求,例如「192.168.0.1/bulbON」,並執行某些操作,將此操作的結果返回給我。一切似乎工作正常,我在控制檯中得到相應的消息:可選(燈泡1是ON)從服務器顯示應用程序URL結果數據

我想顯示在我的應用程序在表視圖或此類信息。什麼是最好的方式來做到這一點?

這裏是我的代碼:

import UIKit 
import Foundation 

class ViewController: UIViewController { 

@IBOutlet weak var ON: UIImageView! 

@IBOutlet weak var OFF: UIImageView! 


@IBAction fun lightON(sender: AnyObject) { 

    ON.hidden = false; 
    StatusLampada.hidden = true; 

    let url = NSURL(string: "http://192.168.0.210/lightON") 

    let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in 
     println(NSString(data: data, encoding: NSUTF8StringEncoding)) 
    } 

    task.resume() 


} 


@IBAction fun lightOFF(sender: AnyObject) { 


    ON.hidden = true; 
    OFF.hidden = false; 


    let url = NSURL(string: "http://192.168.0.210/bublOFF") 

    let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in 
     println(NSString(data: data, encoding: NSUTF8StringEncoding)) 
    } 

    task.resume() 

} 

回答

0

最簡單的方法是在你的視圖控制器的Array<String>屬性,當您收到響應,將字符串添加到陣列。

將字符串添加到數組後,請致電tableView.reloadData。這將導致表視圖再次調用所有表視圖數據源和委託方法。

在這一點上,它只是你的表視圖的問題,從你的字符串數組中定製它的單元格。

0

假設你知道如何的UITableView添加到您的故事板,並將其鏈接到您的視圖控制器,你可以得到這個做快速完成下列操作:

//update class to conform to UITableViewDataSource protocol 
class ViewController: UIViewController, UITableViewDataSource { 

一個屬性類添加有一個屬性觀察員當你添加到數組時,它會自動重新加載表格。

var statusArray:[String] = [String]() { didSet { self.tableView.reloadData()} } 

然後實施UITableViewDataSource兩個需要的方法:不是

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return statusArray.count 
} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    var cell = tableView.dequeueReusableCellWithIdentifier("StatusCell", forIndexPath: indexPath) as! UITableViewCell 
    cell.textLabel!.text = statusArray[indexPath.row] 
    return cell 
} 

然後在你完成處理,println(NSString(data: data, encoding: NSUTF8StringEncoding))

statusArray.append(NSString(data: data, encoding: NSUTF8StringEncoding) as! String) 
相關問題