PList를 사용하여 테이블 뷰에서 푸시 된 뷰 컨트롤러에서 푸시 된 뷰 컨트롤러를 채우려고합니다. 더 간단하게 :테이블 뷰 컨트롤러 (didSelectRowAtIndexPath)의 정수 값 설정 PList (iOS)와 함께 사용
TableViewController -> DetailViewController -> 2ndDetailViewController
내가이 일을하려고 해요 방법은 값으로 정수를 설정하는 것입니다 (< -이 사람은 내가 채우는있어 하나입니다) 사용자가 표보기에서 행을 클릭 할 때 그런 다음 해당 정수의 값을 사용하여 PList의 올바른 값을 가리키고 해당 문자열을 꺼냅니다. 두 번째 View Controller에서 UIImageView에 PList의 이미지를 채우려고합니다. 내 didSelectRowAtIndexPath 코드는 다음과 같습니다.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DealsDetailViewController *dealsDetail = [[DealsDetailViewController alloc]initWithNibName:@"DealsDetailViewController" bundle:nil];
dealsDetail.dealsImageString = [[self.dealsArray objectAtIndex:indexPath.row] objectForKey:@"Image"];
dealsDetail.dealsLabelString = [[self.dealsArray objectAtIndex:indexPath.row] objectForKey:@"Description"];
dealsDetail.title = [[self.dealsArray objectAtIndex:indexPath.row] objectForKey:@"Name"];
if ([[dealsArray objectAtIndex:indexPath.row] isEqual:@"Deal #1"]) {
dealsDetail.dealsInt = 0;
[dealsDetail setTitle:[dealsArray objectAtIndex:indexPath.row]];
}
if ([[dealsArray objectAtIndex:indexPath.row] isEqual:@"Deal #2"]) {
dealsDetail.dealsInt = 1;
[dealsDetail setTitle:[dealsArray objectAtIndex:indexPath.row]];
}
if ([[dealsArray objectAtIndex:indexPath.row] isEqual:@"Deal #3"]) {
dealsDetail.dealsInt = 2;
[dealsDetail setTitle:[dealsArray objectAtIndex:indexPath.row]];
}
[self.navigationController pushViewController:dealsDetail animated:YES];
[dealsDetail release];
모든 항목이 올바르게 채워집니다. 나는 (버튼을 클릭하면) 테이블 뷰 컨트롤러와 DealsDetailViewController의 viewDidLoad 메서드에서 transactionsDetail.dealsInt의 값을 NSLog에 시도했습니다. 두 번 모두, 내가 클릭 한 행에 상관없이 '0'값을 반환합니다. 구문에서 어디에서 잘못 되었습니까?
편집 -------- 가 여기에 로그 아웃 할 때 내가 무엇을 얻을 :
NSLog(@"%@",[dealsArray objectAtIndex:indexPath.row]);
2011-11-28 17:40:59.092 Stores Tab Bar[7386:207] {
Barcode = "SampleBarCode3.png";
Description = "Here's the deal 3";
Image = "FritoTest.png";
Name = "Deal #3";
Thumbnail = "dollars.png";
}
그것은 정확하게 클릭있어 개체의 PLIST의 내용을 기록합니다. 그래서 (나는 그것을 제대로 테이블보기와 상세보기를 채우는 된 이후였다 추정 ...) 올바른 정보
이 코드는 정상적으로 보입니다. DealsDetailViewController의 속성 선언과 이미지를 선택할 때이 값을 사용하는 코드를 포함하십시오. 문자열 형식에 오류가있어 로깅/파일 이름이 올바르게 작동하지 않는 것처럼 들립니다. – jrturton
실제로 사용하지 않았습니다. 두 번째 DealsDetailViewController에서 이미지를 설정하기위한 코드를 아직 작성하지 않았기 때문에 정수가 아직 값을 보유하고 있지 않은 것으로 보였습니다. (이것이 먼저 작동하는지 확인하고 싶었습니다). 내가 누르는 버튼에 관계없이 항상 '0'을 기록하는 이유가 있을까요? – MillerMedia
DetailViewConroller 또는 SecondDetailViewController 또는 둘 다에 문제가 있습니까? 두 번째 질문부터 시작하여 첫 번째 질문으로 이동하는 것 같습니다. –