Swift CG Rect问题-无法调用初始值设定项

Swift CG Rect问题-无法调用初始值设定项,swift,Swift,我已经修复了我原来的问题,但我有一个新的错误,即“类型‘ViewController’不符合协议‘SideBarDelegate’。” 我知道我很快就可以让它工作了,但由于某种原因,我不知道为什么会发生这种情况!有人能帮忙吗 class ViewController: UIViewController, SideBarDelegate { var sideBar: SideBar = SideBar() @IBOutlet weak var mapView: MKMapView! let

我已经修复了我原来的问题,但我有一个新的错误,即“类型‘ViewController’不符合协议‘SideBarDelegate’。”

我知道我很快就可以让它工作了,但由于某种原因,我不知道为什么会发生这种情况!有人能帮忙吗

class ViewController: UIViewController, SideBarDelegate  {

var sideBar: SideBar = SideBar()

@IBOutlet weak var mapView: MKMapView!

let locationsRef = FIRDatabase.database().reference(withPath:     "locations")

    override func viewDidLoad() {
    super.viewDidLoad()

    mapView.delegate = self
    mapView.showsUserLocation = true

    //sidebar

    sideBar = SideBar(sourceView: self.view, skateItems: ["All Skate Spots", "Skateparks", "Street Skating"])

    // Passing firebase annotation data

    locationsRef.observe(.value, with: { snapshot in

        for item in snapshot.children {

            guard let locationData = item as? FIRDataSnapshot else { continue }

            let locationValue = locationData.value as! [String: Any]

            var location: CLLocationCoordinate2D!

            if let lat = locationValue["lat"] as? String {
                // Stored as String
                let lng = Double(locationValue["lng"] as! String)!
                location = CLLocationCoordinate2D(latitude: Double(lat)!, longitude: lng)
            }
            else {
                // Stored as a floating point number
                let lat = locationValue["lat"] as! Double
                let lng = locationValue["lng"] as! Double
                location = CLLocationCoordinate2D(latitude: lat, longitude: lng)
            }

            let name = locationValue["name"] as! String

            let subtitle = locationValue["subtitle"] as! String

            self.addAnnotation(at: location, name: name, subtitle: subtitle)

        }
    })
}

func addAnnotation(at location: CLLocationCoordinate2D, name: String, subtitle: String) {

    // Adding annotation to the map

        let annotation = MKPointAnnotation()

        annotation.coordinate = CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude)

        annotation.title = name

        annotation.subtitle = subtitle

        mapView.addAnnotation(annotation)

}

}

func sideBarDidSelectButtonAtIndex(index: Int) {

}

extension ViewController: MKMapViewDelegate {

}

extension ViewController: CLLocationManagerDelegate {



}

通常,委托被声明为弱可选(解决未初始化错误)

始终使用可选链接调用,如果未设置委托,则该链接不起任何作用

比如说

delegate?.sideBarWillClose?()

只需在-1->
-barWidth-1
-barWidth+-1
之间添加一个空格即可,谢谢,不过我随后收到了另一个问题,我已将其发布为更新的codeDon't post屏幕截图!发布你的代码。很抱歉现在就可以了。请你阅读网站的部分。您可以只发布与您所问问题相关的代码。非常感谢!这非常有帮助!瓦迪安,我有一个新问题!你能帮个忙吗?瓦迪安是谁?不要因为改变内容而把问题搞得一团糟。现在问题的主体与主题无关。问一个新问题<代码>不符合协议意味着您必须实现协议所需的方法。我是说瓦迪安…抱歉?!
delegate?.sideBarWillClose?()