我正在使用這個視頻作爲示例,以我的代碼如下。 Swift To MYSQL using PHP當從PHP獲取數據到tableview時,我使用了視頻的後半部分。我能夠讓tableview在表格視圖單元格行中成功顯示來自php的項目。將標籤數據從tableview傳遞到另一個視圖控制器
import Foundation
import UIKit
import WebKit
class BreakfastGetController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var tableView: UITableView!
var values:NSArray = []
override func viewDidLoad() {
super.viewDidLoad()
get();
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func get(){
let url = NSURL(string: "http://cgi.soic.indiana.edu/~team20/BreakfastGetInfo.php")
let data = NSData(contentsOfURL: url!)
values = try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSArray
tableView.reloadData()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return values.count;
}
//call the specific row and displying in the cell row
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! SpecialCell
let maindata = values[indexPath.row]
cell.name.text = maindata["name"] as? String
return cell;
}
}
每個單元行都有一個標籤,並且該標籤顯示我從php提取的數據。我的問題是,我可以使用按鈕將(或顯示)該數據從標籤推送到另一個視圖控制器嗎?有點像購物車,我想在行中添加一個按鈕,將標籤添加到另一個視圖控制器,所以我可以在那裏查看它(作爲另一個標籤或其他方法)。
我知道可能有關於將數據傳遞給另一個視圖控制器的類似帖子,但沒有我認爲我可以使用(或至少找到)類似於此。
您可以使用標籤文本配置單元格。我假設這個文本存儲在一個數組中。當你觸摸一個單元格'didSelectRowAtIndexPath'被調用時,會給你'indexPath.row',你可以使用它來訪問該數組。從那裏你可以分配你的下一個控制器並設置'viewController.text = touchedText'然後推動控制器。 –
如果你想設置一個segue的方式,那麼你將不得不重寫'prepareForSegue',然後調用'tableView.indexPathForSelectedRows'並獲得indexPath。然後'(segue.destinationViewController as!SomeClass).text = touchedText'。這是唯一合理的兩種方法。 –
你不應該做func get(){ let url = NSURL(string:「http://cgi.soic.indiana.edu/~team20/BreakfastGetInfo.php」) let data = NSData(contentsOfURL:url!) values = try! NSJSONSerialization.JSONObjectWithData(data !,選項:NSJSONReadingOptions.MutableContainers)as! NSArray tableView.reloadData() }。 – satheeshwaran