将经纬度坐标发送到应用委托中的 didFinishLaunchingWithOptions
Posted
技术标签:
【中文标题】将经纬度坐标发送到应用委托中的 didFinishLaunchingWithOptions【英文标题】:Sending latitude and longitude coordinates to the didFinishLaunchingWithOptions in the app delegate 【发布时间】:2011-03-08 04:40:13 【问题描述】:我有一个函数可以在我的应用程序委托中获取 lat 和 long,它工作正常:
- (void)newPhysicalLocation:(CLLocation *)location
// Store for later use
self.lastKnownLocation = location;
// Remove spinner from view
for (UIView *v in [self.viewController.view subviews])
if ([v class] == [UIActivityIndicatorView class])
[v removeFromSuperview];
break;
// Alert user
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Location Found" message:[NSString stringWithFormat:@"Found physical location. %f %f", self.lastKnownLocation.coordinate.latitude, self.lastKnownLocation.coordinate.longitude] delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
[alert release];
currentLatitude = (self.lastKnownLocation.coordinate.latitude);
NSLog(@"current latitude: %f",self.lastKnownLocation.coordinate.latitude);
currentLongitude = (self.lastKnownLocation.coordinate.longitude);
NSLog(@"current longitude: %f",currentLongitude);
但是,我正在尝试将 currentLatitude 和 currentLongitude 值发送到应用程序委托顶部的 didFinishLaunchingWithOptions 部分。我正在尝试这样做,以便可以将这些值传递给我设置的另一个 viewController:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
我可以将 currentLatitude 和 currentLongitude 值发送到 didFinishLaunchingWithOptions 部分吗?
【问题讨论】:
【参考方案1】:为什么不在第二个viewController中创建currentLatitude
和currentLongitude
呢?
你可以使用
- (void)newPhysicalLocation:(CLLocation *)location
// your code here
SecondViewController *viewController = [[SecondViewController alloc] init];
[viewController setLatitude: currentLatitude andLongitude: currentLongitude];
或者只是
[viewController setCurrentLatitude: currentLatitude];
[viewController setCurrentLongitude: currentLongitude];
【讨论】:
谢谢,我做了一个类似的实现,并让它工作 如果答案对您有帮助,请接受和/或投票。其他人可能会发现这个答案与他们的问题相关。谢谢,不客气。【参考方案2】:根据我从您的问题中了解到的情况,您希望将这些坐标值传递给另一个视图控制器。如果是这种情况,您可以将currentLatitude
和currentLongitude
作为应用程序委托的类变量。然后,当您在applicationDidFinishLaunchingWithOptions:
中调用此函数时,您可以将值分配给这些类变量。然后你可以通过应用委托的实例在任何地方访问这些变量。
注意:如果你想在类外访问它们,你必须合成变量。
希望对你有帮助
【讨论】:
以上是关于将经纬度坐标发送到应用委托中的 didFinishLaunchingWithOptions的主要内容,如果未能解决你的问题,请参考以下文章