2015-10-04 57 views
0

我可是從發送兩個標籤功能的痛苦,表現出UIActivityViewController和共享單元格數據之前,還有我曾經在一個時間內的單個UIButton發送一個值:發送多個標籤用的UIButton

cell.sharefb.tag = indexPath.row 
cell.sharefb.addTarget(self, action: "showAlert:", forControlEvents:UIControlEvents.TouchUpInside) 

但現在我已經實現了部分在我UITableView所以我的數組是這樣的:

Array[indexPath.section][indexPath.row] 

其中一人(部分或行)是不夠的時間,我需要同時發送到我的功能?我怎樣才能做到這一點 ?

func showAlert(sender:AnyObject){ 
    // i want to use it like : 
    Array[sender.sectionvalue][sender.rowvalue] 
} 

回答

4

你可以子類的UIButton和您需要如

class MyButton : UIButton { 

var row : Int? 
var section : Int? 

} 

然後你可以設置這些屬性的數據添加屬性,並在showAlert功能,你可以讓他們回來與用途:

func showAlert(sender:AnyObject){ 

    let theButton = sender as! MyButton 

    let section = theButton.section 
    let row = theButton.row 

    } 

編輯:添加在哪裏設置按鈕按照要求的評論:

在你的StoryBoard中,確保你的按鈕是MyButton類型(而不是UIButton)。

然後在你用來設置標籤的地方,不要使用標籤,而是設置屬性。與

cell.sharefb.tag = indexPath.row 
cell.sharefb.addTarget(self, action: "showAlert:", forControlEvents:UIControlEvents.TouchUpInside) 

:所以將這段代碼

cell.sharefb.row = indexPath.row 
cell.sharefb.section = indexPath.section 
cell.sharefb.addTarget(self, action: "showAlert:", forControlEvents:UIControlEvents.TouchUpInside) 
+0

我只是做它,而你在哪裏發佈,還是謝謝你! – AaoIi

+0

很高興我能幫上忙 – Glenn