マップ機能を備えた単純なナビゲーション コントローラーを構築しようとしています。ルート ビューから詳細ビューに 2 つの変数を取り込もうとしています。1 つはラベルを持ち、経度を持っています。
ルートから詳細ビューまでの値を取得しますが、ログには次のように表示されます。
- 2012-04-12 14:38:41.331 マップ[80073:11603] ロング: 0.000000
- 2012-04-1214:38:41.331 マップ [80073:11603] ラベル
- 2012-04-12 14:38:41.331 マップ[80073:11603] ロング: 62.375702
long は経度で、ラベルとなる変数にラベルを付けます。「長い」変数を 1 つだけ渡していますが、常に最初に 0.00000 を取得するため、マップに間違った場所が表示され、ラベルには何も表示されません..
私は何時間もの間、何が問題なのかを理解しようとしてきましたが、コードや Web 上で何も見つからないようです。
RootViewController.m:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *term = @"Label";
float longi1 = 100.102321;
DetailViewController *svc = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];
//send properties to your view controller
svc.term = term;
svc.longi = longi1;
//push it to the navigationController
[self.navigationController pushViewController:svc animated:YES];
[svc release];
svc = nil;
}
DetailViewController.m:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSLog(term);
NSLog(@"long: %f", longi);
coor.text = term;
float lati = 65.12414;
CLLocationCoordinate2D coord = {.latitude = lati, .longitude = longi};
MKCoordinateSpan span = {.latitudeDelta = 0.5, .longitudeDelta= 0.5};
MKCoordinateRegion region = {coord, span};
[mapView setRegion:region];
[self.view addSubview:mapView];
}