2015-06-27 143 views
0

我試圖創建一個拉來刷新我的UITableView與Swift 2.我已經在我的類聲明下面添加了這個:Swift:無法用類型爲'(UIRefreshControl!)'的參數列表調用'addSubview'

var refreshControl: UIRefreshControl! 

這在我viewDidLoad中()

self.refreshControl = UIRefreshControl() 
self.refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh") 
self.refreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged) 
self.tableView.addSubview(refreshControl) 

但是,最後一行是給下面的錯誤:

Cannot invoke 'addSubview' with an argument list of type '(UIRefreshControl!)'

我在這裏做錯了什麼?我怎樣才能解決這個問題?

截圖我的代碼:

Code screenshot

回答

2

哪裏tableView?我在您的代碼中只看到appsTableView

+0

啊,大聲哭泣,我真的不知道我怎麼可能錯過這個。謝謝。 – kaanmijo

+0

@nRewik,refreshControl是UITableView ** Controller **的屬性,而不是UITableView。 –

+0

哦,對不起。我的錯 – nRewik

1

您不應該直接將子視圖添加到表視圖。你應該將它的視圖層次視爲私有的,並且只能使用它的公共接口來操縱它。如果你想要一個由系統處理的刷新控制,你可能應該使用UITableViewController,並將刷新控制安裝在它的refreshControl屬性中。

相關問題