0
私は、カスタムセルクラスを使用して、迅速にテーブルビューを作成しています。アクションボタンでカスタムセルに値を入力しようとしています
各セルにそのセルに固有のIBAction機能を実行するボタンがあるように、ボタンの配列を操作する必要があります。ここで
は、ボタンの変数を宣言する私のセルクラスです:
class taskCell: UITableViewCell {
@IBOutlet weak var performTask: UIButton!
//ignoring code irrelevant to question
}
私はボタンが押されたときに発生します私の「タスク」のすべてが、次のパターンのバリエーションです:
@IBAction func task1(sender: AnyObject){
if (prerequisite1 >= 1) {
prerequisite1 = prerequisite1 - 1;
points = points + 400;
prerequisite1Label.text = "\(prerequisite1)";
pointsLabel.text = "\(points)";
}
}
@IBAction func task2(sender: AnyObject){
if (prerequisite2 >= 1) {
prerequisite2 = prerequisite2 - 1;
points = points + 600;
prerequisite1Label.text = "\(prerequisite2)";
pointsLabel.text = "\(points)";
}
}
ここに私のviewControllerの配列にそれらのテーブルを配置しようとしています:
let firstTasks:[()->()] = [tasksViewController().task1(), tasksViewController().task2()]
最後に、テーブルビューで実装する実装を試みました。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! JobCell
cell.performTask.tag = indexPath.row
cell.performTask.addTarget(self, action: firstTasks[indexpath.row], forControlEvents: .TouchUpInside)
return cell
}
それを複雑にする必要はありませんが、ジュースは、このようなcellforrow方法でタグを割り当てますindexpath.rowを呼び出して、あなたのメソッドが呼び出されるときに、sender.tag == yourvalueとしてarguemnt(送信者)をチェクすることができます。 –
私はまだこのことを暗示しています。私はまだperformTaskを関数のタスクにリンクすることはできません –
私はpuck me、どこにいらっしゃいましたか、私はあなたを助けます –