Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift 3中的代表不执行视图相关代码_Ios_Swift_Swift3_Delegates - Fatal编程技术网

Ios swift 3中的代表不执行视图相关代码

Ios swift 3中的代表不执行视图相关代码,ios,swift,swift3,delegates,Ios,Swift,Swift3,Delegates,在我的项目中,我有一些委托可以很好地处理返回的数据,但我想在接收端的委托方法中添加一些子视图或执行任何操作没有发生任何事情,但是在相同方法中的其他代码都可以! 我的另一个问题也向各位代表提出: 有些学员会出现这种情况。该代表没有响应,但我在web上发现了一个非常奇怪的修复程序,我需要知道为什么会发生这种情况以及为什么该修复程序有效 我的第一个观点: protocol SomeDelegate { func someMethod() } class FirstViewClass {

在我的项目中,我有一些委托可以很好地处理返回的数据,但我想在接收端的委托方法中添加一些子视图或执行任何操作没有发生任何事情,但是在相同方法中的其他代码都可以! 我的另一个问题也向各位代表提出: 有些学员会出现这种情况。该代表没有响应,但我在web上发现了一个非常奇怪的修复程序,我需要知道为什么会发生这种情况以及为什么该修复程序有效

我的第一个观点:

protocol SomeDelegate {
    func someMethod()
}

class FirstViewClass {
    //in init or didLoad method
    var delegate: SomeDelegate?

    // THIS DELEGATE WON'T WORK BUT WHEN I ADD THIS LINE IT WORKS FINE( IT STILL HAS THE ABOVE PROBLEM)
    self.delegate = SecondViewClass()

    //in some custom method
    self.delegate?.someMethod();
}
我的第二个观点:

class SecondViewClass : SomeDelegate {
    var firstView = FirstViewClass()

    // this is in init or didLoad method
    firstView.delegate = self

    //this is in some custom method
    someMethod()
}

一个简单的工作原型:

protocol SomeDelegate {
    func someMethod()
}

class FirstViewClass {
    var delegate: SomeDelegate?
}

class SecondViewClass : SomeDelegate {
    var firstView = FirstViewClass()

    func someMethod() {
        print("called via delegate")
    }
}

var firstClass = FirstViewClass()

var secondClass = SecondViewClass()

firstClass.delegate = secondClass

firstClass.delegate?.someMethod()

一个简单的工作原型:

protocol SomeDelegate {
    func someMethod()
}

class FirstViewClass {
    var delegate: SomeDelegate?
}

class SecondViewClass : SomeDelegate {
    var firstView = FirstViewClass()

    func someMethod() {
        print("called via delegate")
    }
}

var firstClass = FirstViewClass()

var secondClass = SecondViewClass()

firstClass.delegate = secondClass

firstClass.delegate?.someMethod()