많은 질문과 답변을 살펴본 결과 내 앱이 계속 실패하는 이유를 찾을 수 없습니다. 불편을 끼쳐 드려 죄송합니다. 누군가 나를 도와 줄 수 있습니까? 나는 빠른 3.viewController가 프로토콜 UIPickerViewDataSource를 준수하지 않습니다. 코드에 어떤 문제가 있습니까?
import UIKit
import MapKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate, UIPickerViewDelegate, UIPickerViewDataSource {
//Distance
@IBOutlet weak var setDistance: UIPickerView!
var distance = ["1/2 Mile", "1 Mile", "2 Miles", "5 Miles"]
//Map
@IBOutlet weak var map: MKMapView!
let manager = CLLocationManager()
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
{
let location = locations[0]
let span:MKCoordinateSpan = MKCoordinateSpanMake(0.01, 0.01)
let myLocation:CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude)
let region:MKCoordinateRegion = MKCoordinateRegionMake(myLocation, span)
map.setRegion(region, animated: true)
print(location.altitude)
print(location.speed)
self.map.showsUserLocation = true
}
override func viewDidLoad()
{
super.viewDidLoad()
//Distance Stuff
setDistance.delegate = self
setDistance.dataSource = self
}
func numberOfComponents(in: UIPickerView) -> Int {
return 1
}
func setDistance(_ setDistance: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return distance.count
}
func setDistance(_ setDistance: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String {
return distance[row]
}
//Map Stuff
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.requestWhenInUseAuthorization()
manager.startUpdatingLocation()
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
이
코드 정렬 확인 // stuff.it가 중괄호 밖에 있지만 viewdidload에 넣고 프로젝트를 빌드하십시오. – karthikeyan