Итак, моя текущая проблема заключается в следующем.Как использовать один и тот же диспетчер представлений, но передавать через него другую информацию?
Я хотел бы по существу использовать мой текущий диспетчер представлений, но изменить настройки местоположения где-то еще в приложении и передать данные через диспетчер представлений с обновленной информацией о местоположении.
Я подробно рассмотрю. В настоящее время я использую следующий код для обратного геокодирования и получения местоположения пользователей.
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
locationManager.stopUpdatingLocation()
if(locations.count > 0){
let location = locations[0] as! CLLocation
// println(location.coordinate)
if let currentLocatino = currLocation {
if CLLocation(latitude: currentLocatino.latitude, longitude: currentLocatino.longitude).distanceFromLocation(location) > 500 {
currLocation = location.coordinate
self.skip = 0
self.loadObjects()
}
}
else {
currLocation = location.coordinate
self.skip = 0
self.loadObjects()
}
CLGeocoder().reverseGeocodeLocation(CLLocation(latitude: currLocation!.latitude, longitude: currLocation!.longitude), completionHandler: {(placemarks, error) -> Void in
if error != nil {
println("Reverse geocoder failed with error" + error.localizedDescription)
return
}
if placemarks.count > 0 {
let date = NSDate()
let formatter = NSDateFormatter()
formatter.dateStyle = .MediumStyle
formatter.stringFromDate(date)
let pm = placemarks[0] as! CLPlacemark
var testifempty = "\(pm.subLocality)"
if testifempty == "nil"
{
self.locationManager.startUpdatingLocation()
if let lbutton = self.lbutton{
lbutton.text = "Hey " + "\(pm.locality)" //+ "\n" + formatter.stringFromDate(date)
}
}
else
{
self.locationManager.startUpdatingLocation()
if let lbutton = self.lbutton {
lbutton.text = "Hey " + "\(pm.subLocality)\n" // + formatter.stringFromDate(date)
}
}
}
else {
println("Problem with the data received from geocoder")
}
})
} else {
println("Cannot fetch your location")
}
}
То, что я хотел, это, по существу, пройти через новое место и логического рода, так что, если указанный булев установлено значение лжи, информация о новом местоположении передается через приложение.
Я думаю об использовании переключателя на главном контроллере просмотра и изменении местоположения на дополнительном контроллере просмотра.
Прошу прощения, если это длинный пост, но я чувствую, как будто я нахожусь на грани выяснения, как это сделать, но я должен быть уверен, что пойду в правильном направлении.
Возможно, я мог бы использовать mapkit и использовать аннотации?
Да, это очень хороший маршрут, не слишком сложный. Я дам вам знать, как это происходит, и у меня, вероятно, еще несколько вопросов. –
У меня уже есть вопрос, где бы я поместил метод делегата, в первый контроллер? –
@JamesChen, да, вы можете объявить свой протокол в своем первом контроллере. – Daniel