У меня есть простой вопрос, что у меня проблемы с поиском ответа два. Код ниже сбой. От отладки, похоже, происходит из цикла, я думаю, это потому, что я ссылаюсь на другой класс в обоих классах. Может кто-нибудь объяснить, что происходит, и, если возможно, показать, как я могу поговорить обоим классам друг с другом (в обоих направлениях)? Любая помощь будет очень высоко ценится ! Спасибо.Как я могу ссылаться на экземпляры других классов в обоих направлениях без сбоев?
View Controller Один
import UIKit
class ViewControllerOne: UIViewController{
let doSomething = DoSomething()
var one = "test"
@IBAction func buttonTapped(sender: AnyObject) {
doSomething.functionTwo()
}
}
Do Something крэш
import UIKit
class DoSomething: NSObject {
let viewControllerOne = ViewControllerOne()
func functionTwo() -> String{
var two = viewControllerOne.one
return two
}
}
Do Something Это работает
import UIKit
class DoSomething: NSObject {
func functionTwo() -> String{
let viewControllerOne = ViewControllerOne()
var two = viewControllerOne.one
return two
}
}
Спасибо, ваш ответ очень полезен. Это дало мне более глубокое понимание альтернатив. вы можете объяснить, как doSomething.viewControllerOne = self работает. кажется, «захватывает» DoSomething() и делает это сам? – KML
Я отредактировал свой ответ, чтобы добавить подробности, надеюсь, что это поможет. Пожалуйста, отметьте мой ответ, если он – Krzak
Спасибо, Krzak за подробный ответ - на самом деле это очень полезно - спасибо! – KML