我打算这样做 我有一个带有5个标签项的标签栏,第一个标签栏连接到TableViewController 我希望tableview数据源由像城市/州这样的用户位置确定 我在-ViewDidLoad
中有这个代码locationManager = [[CLLocationManager alloc]init];
locationManager.delegate = self;
locationManager.distanceFilter = KCLDistanceFilterNone;
locationManager.desiredAccuracy = LCLLocationAccuracyHunderedMeters;
[locationManager startUpdatingLocation];
然后获取didUpdateToLocation中的位置并设置为userCurrentLocation属性。 但我无法获得userCurrentLocation来确定TableView的数据源。请指教。
在何处设置数据源,如下所示
if (userLocation == @"Sydney")
{
arrData = [NSMutableArray arrayWithObjects:@"San Francisco",nil];
}
else
{
arrData = [NSMutableArray arrayWithObjects:@"California",nil];
}
提前致谢。
答案 0 :(得分:1)
您需要回复委托方法didUpdateToLocations
,因此我建议您在调用此方法后才开始加载tableview:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
这样你就能保证得到答案。有关详细信息,请参阅代理人documentation。
编辑:
首先,您必须将您的课程设置为您在课程的标题文件中执行此操作的CLLocationManagerDelegate
。
虽然您可能必须在UITableViewController
方法中创建viewDidLoad
,但在调用didUpdateToLocation
委托方法时,您必须在主视图中添加视图控制器。 / p>
如果您还需要其他信息,请与我联系。