天天看點

Swift語言IOS8開發戰記7.Delete TableViewCell

之前示範了Alert和ActionSheet的用法,如果我們不想要某一行cell了,那麼就需要删除選項。首先來體驗一下Swift内置的删除方法。也是一個tableView的代理方法。

我們劃動螢幕劃出來的按鈕顯示的是“editingStyle”的值,預設的是“Delete”,效果如圖

Swift語言IOS8開發戰記7.Delete TableViewCell

首先我們在删除這個代理方法中需要改變tableView,而之前的代碼中tableView是在viewDidLoad()中定義的,是以首先要把tableView變成全局變量。

之後回到删除功能的代理方法中,增加如下代碼:

我們首先要把每個cell所顯示的内容清空,然後再把這一行删掉,比如我看到名為cg3的吃雪糕的表情很嘲諷,那麼往左劃點選Delete,好了,永遠看不到他了。注意deleteRowsAtIndesPaths方法的第一個參數要求是數組類型,是以寫成了[indexPath]

Swift語言IOS8開發戰記7.Delete TableViewCell

如果我們并不滿足于隻有一個Delete的功能,想要在和Delete并列着來點别的按鈕,比如我覺得哪個小人很喜歡,我想把他加為好友,Swift也提供了這樣的功能,但是在IOS8之前的OC語言中是沒有提供的。同樣添加一個代理方法如下:

這個方法返可以允許我們提供多個按鈕,傳回的是個數組類型。完善代碼如下:

運作效果如圖:

Swift語言IOS8開發戰記7.Delete TableViewCell

然後我們給剛添加的按鈕中添加功能,向share中添加一個ActionSheet試試,代碼如下:

Swift語言IOS8開發戰記7.Delete TableViewCell

現在要實作分享功能,繼續向shareAction中添加代碼

使我們可以分享到csdn,如圖:

Swift語言IOS8開發戰記7.Delete TableViewCell

如果要真的實作分享功能,我們需要在handler中添加代碼.至于之前的删除行的功能,代碼在

func tableView(tableView:

UITableView, commitEditingStyle editingStyle:

UITableViewCellEditingStyle, forRowAtIndexPath indexPath:

NSIndexPath) 這個代理方法中,但其實這個方法隻是開啟删除的功能,而已我們可以把删除的代碼放到我們的handler中進行。