Ios 无法在变量中存储用户的位置

Ios 无法在变量中存储用户的位置,ios,xcode,facebook-graph-api,Ios,Xcode,Facebook Graph Api,我想将用户的位置存储在sourceplace中,sourceplace是另一个名为directionViewController的视图控制器中的NSString类型变量。 我正在从中获取变量user中的数据,我尝试了NSLogging user,我可以看到它有location键。在您的.h中: - (IBAction)getdirections:(id)sender { directionview=[[directionViewController alloc]initWithNibNa

我想将用户的位置存储在sourceplace中,sourceplace是另一个名为directionViewController的视图控制器中的NSString类型变量。 我正在从中获取变量user中的数据,我尝试了NSLogging user,我可以看到它有location键。

在您的.h中:

- (IBAction)getdirections:(id)sender {
    directionview=[[directionViewController alloc]initWithNibName:@"directionViewController" bundle:nil];
    directionview.sourceplace=user.location;
    [self.view addSubview:directionview.view];
}
您可以将位置从以下位置转换为字符串:

locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
之后

如果directionview.sourceplace也是NSString:


你是说第一线的CLLocationManager…对吗?我得到一个错误,说选择器“location”没有已知的类方法,如果我犯了一个noob错误,很抱歉,我对ios开发非常陌生。我实现了与此完全相同的过程,但我收到一个错误,即没有可见的@interface for CLLocation声明选择器lastObjectyes我添加了它,我必须将其添加到根viewcontroller的头文件中……对吗?locations是一个包含用户位置坐标的数组。[locations lastObject]仅用于获取最新坐标。我想你忘了在位置的末尾加上's'。CLLocation*位置和[locations lastObject];非位置简单您必须在以下位置添加CoreLocation框架:转到您的目标,在转到构建阶段后,然后在链接二进制库中单击“+”并搜索CoreLocation,然后添加它!
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
    CLLocation *location = [locations lastObject];
    str=[[NSString alloc] initWithFormat:@" latitude:%f longitude:%f", location.coordinate.latitude, location.coordinate.longitude];
    NSLog(@"%@",str);    
}
directionview.sourceplace = str;