我有两个UITableViewController中,第一个:我通过协议将数据从UITableViewController传递给UIViewController,而不是int值,我得到零。为什么?
protocol FetchUserProfileData {
func getNumberOfRequests()
}
class ListEvents: UITableViewController{
var fetchInfo:FetchUserProfileData?
func getNumberOfRequests() -> Int{
return 12
}
和UIViewController的:
class UserProfileDetails:UIViewController, FetchUserProfileData {
var listEvents: UserListEvents?
func getNumberOfRequests(){
}
override func viewDidLoad(){
listEvents?.fetchInfo = self
print(listEvents?.getNumberOfRequests())
这行:print(listEvents?.getNumberOfRequests())
给我nil
值,而不是12
...什么是错在这里?
----编辑 好吧,现在我看到listEvents是空的...所以我的问题是我怎么能从ListEvents传递数据到UserProfileDetails?
请详细说明您打算如何使用协议将数据从一个控制器传递到另一个控制器。据我所知,协议不能用来交换数据。协议只定义了一组实现该协议的类必须具有的功能。 – ryantxr
嗯我只是认为,当我这样做就像我试过 - 返回一个int值与函数,然后我将有一个直接访问该值...你能告诉我如何正确地传递它? – user3766930