첫 번째 앱으로 간단한 탐색 기반 numismatic 컬렉션 앱을 마스터하려고합니다.UITableView + .plist + UINavigationController issue
.plist로 채워지는 배열의 인덱스에 문제가 있습니다. Plist에는 191 개의 레코드가 있습니다. 일반 국가 목록 -> 항목 0 - 문자열 - 알바니아 ... 항목 190 - 문자열 - 바누아투.
이 레코드를 임시 배열로 읽어서 UITableView를 채 웁니다.
NSString *countriesFile=[[NSBundle mainBundle]pathForResource:@"countries" ofType:@"plist"];
countries=[[NSArray alloc]initWithContentsOfFile:countriesFile];
이 테이블보기에는 대륙이 있습니다.
글쎄, 내 문제는 다음과 같습니다
다른 펜촉에 밀어, 그것은 국가의 이름을 읽고 헤더와 라벨에 표시되어야합니다. 그렇지만 그것은 유럽 국가들에게만 해당됩니다. 다른 대륙의 국가를 가볍게 치면 유럽 국가를 볼 수 있습니다. 스크린 샷을 참조하십시오.
유럽 국가에서 벨소리 -> 벨기에, 오른쪽 그림.
아프리카 섹션으로 이동 :
앙골라에 테이핑과 오스트리아를 받고.그래서, 앙골라의 인덱스 - (92) 오스트리아 - 1. 그러나 오스트리아와 앙골라는 그 나라의 섹션에서 두 번째 셀입니다.
어디서 문제가 있으며 무엇이 될까요?
미리 감사드립니다.
.plist를 바꾸려면 무엇을 의미합니까? 방법? 배열 -> 컬렉션? – NCFUSN
그럼 내 방법은 다음과 같습니다 : - (void) tableView : (UITableView *) tableView didSelectRowAtIndexPath : (NSIndexPath *) indexPath { NSUInteger section = [indexPath section]; NSUInteger row = [인덱스 경로 행]; NSString * countryName = [[countries objectsAtIndex : section] objectAtIndex : row]; SelectedCountry * selectedCountry = [[SelectedCountry alloc] initWithNibName : @ "SelectedCountry"번들 : nil]; selectedCountry.selectedCountry = [countryName objectAtIndex : indexPath.row]; [self.navigationController pushViewController : selectedCountry animated : YES]; [selectedCountry release]; } – NCFUSN
이제 'NSString이'objectAtIndex '에 응답하지 않을 수 있습니다. var 유형을 변경해야합니까? 무엇을? – NCFUSN