2017-06-30 10 views
-2

テーブルビューでは、ボタンのアクションを実行してセルの値を追加する方法と、テーブルビュー外のラベルでその値を表現する方法について説明します。テーブルビューのセル値を追加する方法

import UIKit 

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 

    @IBOutlet weak var QuantityTotal: UILabel! 

    @IBOutlet weak var PriceTotal: UILabel! 

    var pizza = ["B", "C", "D", "E", "F", "G"] 

    var name = ["H", "I", "J", "K", "L", "M"] 

    var price = ["50", "60", "70", "80", "90", "100"] 

    var Quantity = 0 

    var MutuableArray:NSMutableArray = [] 

    @IBOutlet weak var Table: UITableView! 

    func ButtonClicked(sender:AnyObject){ 

    let ButtonTag = sender.tag 

    let cell = sender.superview?!.superview as! Pizza 

//  print(cell.Lbl.text) 

    a = Int(cell.Lbl.text!)! 

    if a > 0 
    { 
     a = a - 1 

     let my_var = a 

     let myString = String(my_var) 

     cell.Lbl.text = myString 

     cell.SubtractBtn.hidden = false 
    } 

    else { 

     cell.SubtractBtn.hidden = true 
    } 

    MutuableArray.replaceObjectAtIndex(ButtonTag, withObject: cell.Lbl.text!) 

} 

var a = 0 

func buttonClicked(sender:AnyObject) { 

    let ButtonTag = sender.tag 

    let cell = sender.superview?!.superview as! Pizza 

//プリント(cell.Lbl.text)

// cell.Lbl.text =文字列(QuantityTotal)

a = Int(cell.Lbl.text!)! 

    a = a + 1 

    let my_var = a 

    let myString = String(my_var) 

    cell.Lbl.text = myString 



    cell.SubtractBtn.hidden = false 

    MutuableArray.replaceObjectAtIndex(ButtonTag, withObject: cell.Lbl.text!) 
} 

override func viewWillAppear(animated: Bool) { 

} 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    for i in 0...6 { 

    print(i) 

     MutuableArray.addObject("0") 

    } 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return 1 
} 

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

} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    let cell:Pizza = Table.dequeueReusableCellWithIdentifier("Pizza")as! Pizza 

    cell.Img.image = UIImage(named: pizza[indexPath.row]) 

    cell.Name.text = self.name[indexPath.row] 

    cell.Price.text = self.price[indexPath.row] 



    cell.AddBtn.addTarget(self, action: #selector(ViewController.buttonClicked(_:)), forControlEvents: UIControlEvents.TouchUpInside) 

    cell.SubtractBtn.addTarget(self, action: #selector(ViewController.ButtonClicked(_:)), forControlEvents:UIControlEvents.TouchUpInside) 

    cell.SubtractBtn.tag = indexPath.row 

    cell.AddBtn.tag = indexPath.row 

    cell.Lbl.text = MutuableArray [indexPath.row] as! String 

    return cell 

    } 

} 

答えて

0

ボタンをクリックすると、ボタンのタグの値を取得するたびに

cell.AddBtn.addTarget(self, action: #selector(ViewController.buttonClicked(_:)), forControlEvents: UIControlEvents.TouchUpInside) 

     cell.SubtractBtn.addTarget(self, action: #selector(ViewController.ButtonClicked(_:)), forControlEvents:UIControlEvents.TouchUpInside) 

     cell.SubtractBtn.tag = indexPath.row 

     cell.AddBtn.tag = indexPath.row 

この関数では、タグの値を渡します。

function ButtonClicked() 
    { 

    } 
関連する問題