Я пытаюсь использовать протокол/делегат в swift, и, хотя я не получаю никаких ошибок, кажется, что мой делегат не создается.Делегат, возвращающий нуль
Вот мой код
Класс 1
import UIKit
protocol GameViewSliding{
func slideGameView()
}
class GameDetailsViewController: UIViewController {
var delegate:GameViewSliding?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func showOptions(sender: AnyObject) {
println("button pressed")
println(delegate)
delegate?.slideGameView()
}
}
Class 2, что соответствует протоколу
import UIKit
var currentHoleNumber:Int = 0
var parThree = false;
var parFive = false;
class GameViewController: UIViewController, GameViewSliding{
var gameDetailsVC:GameDetailsViewController = GameDetailsViewController()
override func viewDidLoad() {
super.viewDidLoad()
println("inside the game class")
gameDetailsVC.delegate = self
}
func slideGameView(){
println("this is from the root controller")
}
}
Делегат возвращается ноль, поэтому я никогда не получаю Println от Class2, просто не знаю, почему это ноль.
Я обновил свой код, и сделал ссылку на GameDetailsVC, но когда println для делегата запущен внутри функции showOptions, я все равно получаю nil – icekomo
@icekomo hi! решил ли решить эту проблему? – Harris