2013-03-29 78 views
0

您好我目前已經在UIViewController嵌入tableview。在tableview中,我收集了json數據。我希望創建一個刷新控制器,所以無論何時用戶拉下來,json數據都會刷新。刷新嵌入式桌面控制器ios 6

我曾嘗試下面的代碼

- (void)viewDidLoad 
{ 
[superviewDidLoad]; 

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] 
init]; 
[refreshControl addTarget:nil action:@selector(updateArray) forControlEvents:UIControlEventValueChanged]; 
self.refreshControl = refreshControl; 

} 

-(void) updateArray{ 
[self.tableView reloadData]; 
[self.refreshControl endRefreshing]; 
} 

我得到它說,在ViewController中沒有發現財產refreshControl錯誤。

是因爲我使用嵌入式tableview還是我做錯了什麼?

+0

這段代碼在你的'UIViewController'或其他地方嗎? – Isaac

+0

代碼位於UIViewController中 – user2121594

+0

它看起來像刷新控制處理需要在UITableViewController而不是UIViewController。也許,請參閱[本教程](http://www.lextech.com/2012/10/ios-6-pull-to-refresh-tutorial/)。 – Isaac

回答

0

您正在實例化viewDidLoad方法內的UIRefreshControl。 updateArray方法對該對象的引用不可見。您需要將其設爲屬性或實例變量。

@property (strong, nonatomic) UIRefreshControl *refreshControl; 

然後代替

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; 

使用

refreshControl = [[UIRefreshControl alloc] init]; 
+0

嗨,我已經嘗試過沒有任何反應。 – user2121594

+0

但它仍然拋出未找到屬性的錯誤? – rantunes

+0

不錯,但是,刷新不會發生 – user2121594

0

您可以添加UIRefreshControl只的UITableViewController,而不是UIViewController中。 檢查這個答案在UITableViewController是UIViewController的UIViewController中使用UIRefreshControl。 https://stackoverflow.com/a/14148118/1017099