지도 함수를 사용하여 간단한 탐색 컨트롤러를 작성하려고합니다. 루트 뷰에서 세부 뷰로 두 개의 변수를 가져 오려고합니다. 하나는 라벨이 있고 경도가 있습니다.전달 변수, pushViewControll
은 내가 Detail'd보기로 루트의 값을 얻을 수 있지만, 그것을 로그인하면이 말한다 :
- 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 맵 [11,603 80,073] : 62.375702
어디 길다 경도와 레이블이어야하는 변수에 레이블을 붙입니다. 나는 오직 하나의 '긴'변수를 전달할 뿐이지 만 언제나지도를 잘못된 위치로 보여 주며 항상 0.00000을 먼저 얻습니다. 레이블은 전혀 표시되지 않습니다 ..
나는 몇 시간 동안 잘못되었지만 코드 나 웹에서 아무 것도 찾을 수없는 것 같아서 어떤 도움을 주셔서 감사합니다.
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 : -initWithNibName:bundle:
로드 메모리에서 뷰와 당신이 경도를 할당하기 전에 -viewDidLoad
호출되도록하기 때문에
- (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];
}
에
-viewDidLoad
의 코드를 이동하려고하지만, '긴'에 대한 하나의 NSLog() 문. 다른 사람은 어디에서 오는거야? –나는이 (첫 번째 출력물)이 문제의 근원이라고 생각하고'pred''viewdidload' 메소드 ('init','viewWillLoad' 등)를 확인하고 거기에있는 속성을 변경/설정하지 않았 음을 확인합니다. 그 시나리오의 문제는 왜 당신의 마지막 인쇄 된 값이 좋아 보이기 때문에지도가 잘못된 것을 보여 주는가하는 것입니다 ... – Alladinian
더 정확하게 문제를 설명하는 제목으로 제목을 변경할 수 있습니까? – JeremyP