2016-08-15 2 views
-1

Я получаю ошибку ниже:Значения типа NSObject ->() -> ** ViewController не соответствует указанному типу *** делегата

enter image description here

Моего протокол выглядит следующим образом:

protocol RecorderDelegate { 

    func finishedRecordingWithUrl(URL: NSURL) 
} 

Может кто-нибудь объяснить, почему само не соответствует протоколу, когда кажется, что это так?

ответ

2

В то время, когда вы устанавливаете себя как ссылку, самости не существует. Попытайтесь установить его позже, скажем, viewDidLoad или сделайте его ленивым.

Btw делает ссылку на делегата слабой, в противном случае вы создаете ссылочный цикл, и ваш экземпляр контроллера просмотра никогда не будет dealloc и создаст утечку памяти.

+0

Если бы вы могли поделиться небольшим кодом, который был бы замечательным, спасибо! – etayluz

+0

Сделайте свою собственность ленивой слабой вар. Это должно решить вашу проблему. Кстати, почему вы создаете это свойство? У вас есть другая функция, которая вызывает ваш метод делегата через это свойство делегата? –

Смежные вопросы