我有两个UITableViewController,第一个:

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。。。这里怎么了?
----编辑
好吧,现在我看到listenvents是空的。。。所以我的问题是如何将这些数据从listenvents传递到UserProfileDetails?

最佳答案

在这段代码中,listEvents可能为零。
但是,你使用协议的方式在我看来很奇怪。我希望:
getNumberOfRequests在返回Int的协议中
ListEvents应该执行协议,而不是UserProfileDetails
应删除getNumberOfRequests()中的空UserProfileDetails

关于ios - 我通过协议(protocol)将数据从UITableViewController传递到UIViewController,而不是int值,我得到的是nil。为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36136383/

10-10 21:07