Ich bin komplett neu in iOS-Entwicklung, so kann ich dies falsch machen, aber ich habe eine Klasse, die ich verwenden, um GPS-Koordinaten zu erhalten, die ich als eine generische Klasse haben möchte Wiederverwendung in vielen Apps Mein Problem ist, dass die Daten vom GPS in anderen Apps korrekt angezeigt werden.Ich versuche, Eigenschaften aus einer anderen Klasse in iOS
Hier ist meine Header-Datei für die GPS-Klasse:
#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>
@interface LocationAwareness : NSObject <CLLocationManagerDelegate> {
CLLocationManager *locationManager;
}
@property(copy) NSString *longitude;
@property(copy) NSString *latitude;
@end
Und hier ist die Umsetzung:
#import "LocationAwareness.h"
@implementation LocationAwareness
@synthesize longitude;
@synthesize latitude;
- (id)init {
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
[locationManager startUpdatingLocation];
return self;
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
// Stops updating location if data has been updated within 10 minutes
if (abs([newLocation.timestamp timeIntervalSinceDate: [NSDate date]]) < 600) {
[locationManager stopUpdatingLocation];
float latitudedata = newLocation.coordinate.latitude;
latitude = [NSString stringWithFormat:@"%f", latitudedata];
float logitudedata = newLocation.coordinate.longitude;
longitude = [NSString stringWithFormat:@"%f", logitudedata];
}
}
@end
Jetzt kann ich nicht überall zu finden scheinen, das mir sagt, wie das bekommen Breiten- oder Längengradeigenschaften in einem anderen Projekt. Ich habe die Kopfzeile importiert und habe versucht, LocationAwareness.latitude in einer Variablen zu speichern, die ich verwenden kann, aber alles, was ich es in speichert, endet leer. Wenn ich meine Hauptklasse starte und ein lokales Objekt initiiere, startet das GPS. Ich denke, es funktioniert, aber ich weiß nicht genug darüber, wie das funktioniert, um alles in Ordnung zu bringen. Ich habe stundenlang im Internet gesucht. Hat jemand eine Idee, was ich falsch mache?
Schwer zu wissen, was vor sich geht, ohne zu sehen, wie Sie das alles implementieren. Versuchen Sie als Reality-Check vielleicht, eine Log-Anweisung in die 'locationManager: didUpdateToLocation:' -Funktion zu setzen, damit Sie sicher sind, dass es Werte gibt. Mit anderen Worten: 'NSLog (@" longitude:% @ ", longitude);' –
Vielleicht sollte ich sagen, ich möchte wissen, wie ein einfacher Import und Druck auf dem Bildschirm aussehen würde. Ich weiß, wie man mit IBOulets und all dem arbeitet, aber ich habe ehrlich gesagt keine Ahnung, wie man eine Eigenschaft von einer Klasse zur anderen übergehen lässt. –