私は以下のコードを使ってこのビデオを例として使用しています。 Swift To MYSQL using PHP私は、PHPのデータを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から取得したデータが表示されます。私の質問は、ボタンから他のView Controllerにそのデータをプッシュ(または表示)できますか?ショッピングカートのようなもので、ラベルを別のビューコントローラーに追加する行のボタンを使用したいので、別のラベルやその他の方法で表示することができます。
他のビューコントローラにデータを渡すことに関する同様の記事があるかもしれませんが、これに似ていると思うものはありませんでした。
ラベルのテキストを使用してセルを設定します。私はこのテキストが配列に格納されていると仮定します。セルに触れると 'didSelectRowAtIndexPath'が呼び出され、その配列にアクセスするために使用できる' indexPath.row'が与えられます。そこから次のコントローラを割り当てて 'viewController.text = touchedText'を設定してからコントローラを押してください。 –
segueの方法を設定する場合は、 'prepareForSegue'をオーバーライドしてから' tableView.indexPathForSelectedRows'を呼び出してindexPathを取得する必要があります。次に、 '(segue.destinationViewController as!SomeClass).text = touchedText'を実行します。これらは、それを行う唯一の合理的な2つの方法です。 –
func get(){ let url = NSURL(文字列: "http://cgi.soic.indiana.edu/~team20/BreakfastGetInfo.php") let data = NSData(contentsOfURL:url!) 値=試してください! NSJSONSerialization.JSONObjectWithData(データ!,オプション:NSJSONReadingOptions.MutableContainers)を!メインスレッドのNSArray tableView.reloadData() } – satheeshwaran