Я работаю над iPhone App и задаюсь небольшим вопросом. У меня есть функция и вы хотите вызвать эту функцию в моей функции viewDidLoad. Я пробовал этот путь, но получаю сообщение об ошибке, когда хочу вызвать функцию dropPin.Правильно вызывать функцию
override func viewDidLoad() {
super.viewDidLoad()
//drop the pin when view did load !Missing argument for parameter ¨didUpdateLocation¨ in call!
dropPin(CLLocationManager, didUpdateLocations: [CLLocation])
}
func dropPin(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.last
let center = CLLocationCoordinate2D (latitude: location!.coordinate.latitude, longitude: location!.coordinate.longitude)
//initialize our Pin with our coordinates and the context from AppDelegate
let pin = Pin(annotationLatitude: center.latitude, annotationLongitude: center.longitude, context: appDelegate.managedObjectContext!)
//add the annotation to the map
mapView.addAnnotation(pin)
//save our context. We can do this at any point but it seems like a good idea to do it here.
appDelegate.saveContext()
}
Благодарим за помощь!
Ошибка отправляется как прокомментированная строка на четвертой строке блока кода в вопросе. '// удаляем штифт при загрузке представления! Отсутствует аргумент для параметра ¨didUpdateLocation¨ в вызове!' – ZGski
Вы не передаете экземпляры объектов в свою функцию, вы передаете имена классов. Было бы неплохо, если бы вы прочитали очень основную книгу по программированию, прежде чем идти слишком дальше. Узнайте, какая разница между определением класса и экземпляром класса (т. Е. Объекта). Все очень хорошо, если кто-то отправляет правильный код, и вы его копируете, и он работает, но вам нужно понять, что вы сделали неправильно, и хороший способ сделать это - потратить пару часов на чтение базовой книги Swift или аналогичный учебный материал, предназначенный для абсолютных новичков. – Gruntcakes
И это не только первый параметр, который является неправильным. – Gruntcakes