저는 iOS 코딩을 처음 접했습니다. CLLocation 문제를 해결하려면 도움이 필요합니다.CLLocation 속도가 UIView에 표시되지 않습니다.
위치 및 속도 정보를 검색하기 위해 didUpdateLocations를 사용합니다. NSLog를 사용하여 이러한 세부 정보를 표시하고 표시 할 수 있습니다.
그러나 UIview에 표시 할 수 없습니다. 어떻게 수정해야합니까?
아래 코드는 제 코드입니다.
CoreLocationController를 사용하여 위치 세부 정보를 검색합니다.
@implementation CoreLocationController
@synthesize locMgr;
@synthesize location;
- (id)init {
self = [super init];
if(self != nil) {
self.locMgr = [[CLLocationManager alloc] init];
self.locMgr.delegate = self;
}
return self;
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations
{
DriveTrapViewController *driveTrapViewController = [[DriveTrapViewController alloc]init];
self.location = [locations lastObject];
//NSLog(@"Speed, %f", self.location.speed);
[driveTrapViewController locationUpdate:(CLLocation *)self.location];
}
검색된 세부 정보를 다시 DriveTrapViewController로 보냅니다. NSLog를 사용하여 표시 할 수 있습니다. 그러나 self.speedText.text는 항상 NULL이며 아무 것도 화면에 표시되지 않습니다.
@implementation DriveTrapViewController
@synthesize CLController;
@synthesize speedText = _speedText;
- (void)viewDidLoad {
[super viewDidLoad];
CLController = [[CoreLocationController alloc] init];
CLController.delegate = self;
[CLController.locMgr startUpdatingLocation];
}
- (void)locationUpdate:(CLLocation *)location
{
NSString *speed = [NSString stringWithFormat:@"SPEED: %f", location.speed];
NSLog(@"Speed %@",speed);
self.speedText.text = speed;
}
어떻게 수정합니까? 어떤 도움을 주셔서 감사합니다. 감사합니다
감사합니다. 그것으로 문제가 해결되었습니다. DriveTrapController 안에 CLLocationManager를 추가했습니다. – user2734323
그러나 하나의 ViewController에서 CLLocationManager를 사용하고 다른 ViewController에 위치 정보를 전달해야한다면 내 옵션은 무엇입니까? ivar를 사용하지 않고도 달성 할 수 있습니까? – user2734323
그것은 당신이하려는 일에 달려 있습니다. 다른 vc의 속성을 사용하여 위치를 전달하거나 다른 위치 관리자를 다른 vc로 지정할 수 있습니다. 좀 더 자세한 내용으로 다른 질문을하는 것이 좋습니다. –