如何在Objective-C中制作和访问全局变量

戴夫

我通过搜索栏在地图上放置了图钉,并检索了它的坐标,并将其保存在myLatitude和myLongitude的两倍中。这是在以下代码片段中完成的:

class1.h

@interface Location : UIViewController <UISearchBarDelegate, MKMapViewDelegate>

@property (nonatomic, readwrite) double myLatitude;
@property (nonatomic, readwrite) double myLongitude;

class1.m

-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
 {
[self.mySearch resignFirstResponder];

//geoloc
CLGeocoder *geocoder = [[CLGeocoder alloc]init];
[geocoder geocodeAddressString:self.mySearch.text completionHandler:^(NSArray *placemarks, NSError *error)
{

    //mark location and center
    CLPlacemark *placemark = [placemarks objectAtIndex:0];

    MKCoordinateRegion region;
    CLLocationCoordinate2D newLocation = [placemark.location coordinate];
    region.center = [(CLCircularRegion *)placemark.region center];

    //drop pin
    MKPointAnnotation *annotation = [[MKPointAnnotation alloc]init];
    [annotation setCoordinate:newLocation];
    [annotation setTitle:self.mySearch.text];
    [self.mapView addAnnotation:annotation];


    //scroll to search result
    MKMapRect mr = [self.mapView visibleMapRect];
    MKMapPoint pt = MKMapPointForCoordinate([annotation coordinate]);
    mr.origin.x = pt.x - mr.size.width *0.5;
    mr.origin.y = pt.y - mr.size.height *0.25;
    [self.mapView setVisibleMapRect:mr animated:YES];

    myLatitude = newLocation.latitude;
    myLongitude = newLocation.longitude;
    NSLog(@"lat: %f, long: %f", myLatitude, myLongitude);

    }];
}

现在,我想在不同的class2中使用这些双精度数(myLatitude和myLongitude),换句话说,我需要这两个双精度数是全局的,如何使它们成为全局的,然后又如何在class2中称呼它们?任何代码将不胜感激!

罗伯·桑德斯

最简单的方法可能是使用单例

您可以创建一个新的单例类,然后可以从您应用程序中的任何位置进行访问。因此,您可以创建CoordinateManager或其他内容,然后使用它来处理要成为全局位置坐标。

例如 CoordinateManager.h

@interface CoordinateManager : NSObject

+ (CoordinateManager *)sharedManager;

@property float latitiude;
@property float longitude;

@end

CoordinateManager.m

@implementation CoordinateManager

@synthesize latitiude;
@synthesize longitude;

static CoordinateManager *manager = nil;

+ (CoordinateManager *)sharedManager
{
    if (manager) {
        return manager;
    }
    else {
        @synchronized(self) {
            if (!manager) {
                manager = [[CoordinateManager alloc] init];
            }
            return manager;
        }
    }
}

@end

然后,您将设置以下属性:

[[CoordinateManager sharedManager] setLatitude:1.067594];

只要您导入,就可以从应用程序中的任何位置进行访问CoordinateManager.h

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python中实现C / C ++全局变量?

来自分类Dev

如何在r函数中访问全局变量

来自分类Dev

如何在Python中访问全局变量?

来自分类Dev

如何在Android中制作最终的全局变量

来自分类Dev

如何在reopenClass中访问容器而不接触全局变量?

来自分类Dev

如何在其他函数中访问全局变量的值

来自分类Dev

在Objective-C块中修改全局变量

来自分类Dev

如何在C ++中具有全局变量

来自分类Dev

如何动态访问Node中的全局变量?

来自分类Dev

如何在C中声明全局变量?

来自分类Dev

Tcl线程:如何访问线程中的全局变量

来自分类Dev

如何访问模板中的全局变量?

来自分类Dev

如何在不使用帮助器的情况下访问Meteor模板中的全局变量?

来自分类Dev

如何在Kivy文件中访问全局变量?

来自分类Dev

如何访问全局变量

来自分类Dev

如何在子程序中访问全局变量

来自分类Dev

如何从Node中的required()文件访问全局变量?

来自分类Dev

如何在C#中创建全局变量?

来自分类Dev

如何在所有包中访问全局变量

来自分类Dev

如何在rpg程序中定义可在调用函数中访问的全局变量

来自分类Dev

如何制作全局变量或能够在其他文件中访问它

来自分类Dev

如何在C中访问具有相同名称的局部变量和全局变量

来自分类Dev

如何从其他C程序访问共享库(.so)中的全局变量?

来自分类Dev

在Objective-C中对全局变量进行分类

来自分类Dev

如何在Python中访问全局变量?

来自分类Dev

如何在Zend Framework Controller中访问全局变量

来自分类Dev

如何从Node中的required()文件访问全局变量?

来自分类Dev

如何在rpg程序中定义可在调用函数中访问的全局变量

来自分类Dev

如何在 javascript 库中访问 Twig 全局变量

Related 相关文章

  1. 1

    如何在python中实现C / C ++全局变量?

  2. 2

    如何在r函数中访问全局变量

  3. 3

    如何在Python中访问全局变量?

  4. 4

    如何在Android中制作最终的全局变量

  5. 5

    如何在reopenClass中访问容器而不接触全局变量?

  6. 6

    如何在其他函数中访问全局变量的值

  7. 7

    在Objective-C块中修改全局变量

  8. 8

    如何在C ++中具有全局变量

  9. 9

    如何动态访问Node中的全局变量?

  10. 10

    如何在C中声明全局变量?

  11. 11

    Tcl线程:如何访问线程中的全局变量

  12. 12

    如何访问模板中的全局变量?

  13. 13

    如何在不使用帮助器的情况下访问Meteor模板中的全局变量?

  14. 14

    如何在Kivy文件中访问全局变量?

  15. 15

    如何访问全局变量

  16. 16

    如何在子程序中访问全局变量

  17. 17

    如何从Node中的required()文件访问全局变量?

  18. 18

    如何在C#中创建全局变量?

  19. 19

    如何在所有包中访问全局变量

  20. 20

    如何在rpg程序中定义可在调用函数中访问的全局变量

  21. 21

    如何制作全局变量或能够在其他文件中访问它

  22. 22

    如何在C中访问具有相同名称的局部变量和全局变量

  23. 23

    如何从其他C程序访问共享库(.so)中的全局变量?

  24. 24

    在Objective-C中对全局变量进行分类

  25. 25

    如何在Python中访问全局变量?

  26. 26

    如何在Zend Framework Controller中访问全局变量

  27. 27

    如何从Node中的required()文件访问全局变量?

  28. 28

    如何在rpg程序中定义可在调用函数中访问的全局变量

  29. 29

    如何在 javascript 库中访问 Twig 全局变量

热门标签

归档