Как я могу интегрировать данные о местонахождении ядра в мое пустое приложение для iPhone без использования контроллера View или Tab? - PullRequest
0 голосов
/ 21 февраля 2012

Как я могу интегрировать данные о местоположении ядра (широта, долгота, высота) в мое приложение iPhone (одно представление) без создания дополнительных контроллеров представления или контроллеров вкладок?другими словами, когда я запускаю приложение, я хочу видеть пустой экран (xView), но иметь возможность собирать (долгота, широта информации в фоновом режиме), а затем, возможно, сохранять координаты в файле или передавать его другим функциям.Извините, если это звучит как глупый вопрос. Я новичок в разработке для iOS. Спасибо.

HelloXYZAppDelegate.h:

#import <UIKit/UIkit.h>
#import "MyclassView.h"

@interface HelloXYZAppDelegate: NSObject <UIApplicationDelegate> 
{
  MyClassView* _xView;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet MyClassView *xView;

@end





HelloXYZAppDelegate.m

#import "HelloXYZAppDelegate.h"
@implementation HelloXYZAppDelegate
@synthesize xView=_xView;
@synthesize window=_window;

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:      
{
 self.xView = [[[MyClassView alloc] initWithFrame:screenBounds] autorelease];
 [self.window addSubview:_xView];
 [self.window makeKeyAndVisible];
 return YES;
}

@end





MyClassView.h:
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#include <OpenGLES/ES2/gl.h> 

@interface MyClassView : UIView 
{
CAEAGLLayer* _eaglLayer;
EAGLContext* _context;
GLuint _CRBuffer;
GLuint _PSlot;
....
....
....
CLLocationManager *LM;  //not sure if I can do this in here
CLLocation *SP;         //not sure if I can do this in here
}
@property (nonatomic, retain) CLLocationManager *LM;
@property (nonatomic, retain) CLLocation *SP;
@end





MyClassView.m

- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
       fromLocation:(CLLocation *)oldLocation 
{
if (SP == nil)
    self.SP = newLocation;
NSString *latitudeString = [[NSString alloc] initWithFormat:@"%g\u00B0",
                        newLocation.coordinate.latitude];
NSLog(@"latitude is %@", latitudeString);
    [latitudeString release];
}   

- (void)viewDidLoad
{
self.LM = [[CLLocationManager alloc] init];
LM.delegate = self;
LM.desiredAccuracy = kCLLocationAccuracyBest;
[LM startUpdatingLocation];    
[super viewDidLoad];
}

1 Ответ

0 голосов
/ 21 февраля 2012

очень просто учебник в ядре.Если вы хотите сохранить данные для дальнейшего использования, вы либо захотите создать класс NSObject для данных, но, видя, что не хотите делать дополнительные классы, определите две строки @property NSStrings lat и long при создании местоположения.установите две строки для двух переменных, и вы сможете получить к ним доступ позже.Учебное пособие печатает данные на экране, просто оставьте эту часть, если она вам не нужна

...