Ошибка при self присваивании

swift
ios

#1

Здравствуйте!


пытаюсь использовать данную либу, создал отдельный класс

import Foundation
import BetterVPNManager

class VpnController {
    
    //Create your VPN Manager variable
    let vpn = VPNManager.shared
    vpn.delegate = self
    
}

но при этом написании пишет ошибку в строке
vpn.delegate = self
я понимаю, что self это копия экземпляра объекта. Я не понимаю зачем это делается в данном контексте, и почему ошибка при вызове. Если обернуть в какой то метод ошибка пропадет, можете пояснить пожалуйста;


#2

Это так называемое делегирование. Другими словами некая ссылка, посредник, для передачи каких-либо команд в ваш контроллер, который вы передали.
После такого написания вам нужо реализовать протокол от класса VPNManager. В ошибке должно быьт написано как называется протокол.
После чего можете сделать так

extension VpnController: VPNManagerDelegate {  // VPNManagerDelegate это лишь моя догадка, возможно название другое
    // тут нужно будет указать обязательные методы
    // или те, с которыми вы будете работать
}

P.S. ну и в документации как-раз все написано про сам делегат